cancel
Showing results for 
Search instead for 
Did you mean: 

Web Service Call From Consumer Proxy in ABAP: Security Settings

former_member273752
Participant
0 Kudos

Hello All,

Have a couple of questions:

We are working on a scenario where we have to connect to a web service from ABAP. We have extracted the WSDL, and generated the client proxy, and configured a Logical Port. However, at the time of actual call, we receive an error message "Header http://schemas.xmlsoap.org/ws/2004/08/addressing:Action for ultimate recipient is required but not present in the message.". We suspect that this is a problem with the SOAP Header, which might be missing some tags, which are required by the Web Service. Problem is, we can not trace the Web Service SOAP Header. We can not see it in SOAMANAGER, or any other transaction as such.

1. Does any body have an idea where to look for the complete SOAP Request, in case of a Consumer Proxy call?

2. After re-configuring the Logical Port in SOAMANAGER, our scenario is now stuck at an error which says: 'SoapFaultCode:1 Security requirements are not satisfied because the security header is not present in the incoming message.'. This is probably happening because the target web service is WSE 3.0 compliant, and hence it is asking for UsernameToken and TimeStamp attributes in SOAP Header. In SOAMANAGER Logical Port configuration, we do not see a placeholder for providing this information. However, in earlier LPCONFIG transaction, there was a field for providing WS Security Profile for Operations. Where does this config lie in SOAMANAGER?

Awaiting Replies.

Thanks and Regards,

Sid

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi

did you check the Web Service Messages monitor on SAP System?

Check with Transactions: SRTUTIL and SRT_TOOLS.

Regards

Francesco

former_member273752
Participant
0 Kudos

Hi,

@ Barry: Tried with XML Spy, the service looks good.

@ Francesco: Tried the transactions above already, to not much effect. However, we have been able to resolve the issue of not viewing the SOAP Request. For anyone who might be interested for future reference, try SAP Note 1318784.

So the question is now only about the Missing SOAP Security Header.

Thanks for Answering.

Sincere Regards,

Sid.

0 Kudos

Hi Sid,

The setting username/password in the manual logical port configuration will send the username and password in the http header as basic authentication. That's why you don't see a security header.

To configure usernametoken you have to create the logical port out of a WSDL. This WSDL needs to contain WS-Security Policies . So in the policy section of the WSDL you see an XML element called UsernameToken.

In order to let .Net generate a compatible WSDL you have to configure your WCF Web Service to use a CustomBinding with authentication "UsernameOverTransport". This is a username token in the security header send over SSL. So therefore you need an HTTPSTransport (instead of HTTPTransport) in the binding of your .Net WCF endpoint as well.

For an example of such a WCF service configuration see my comment on http://weblogs.sdn.sap.com/cs/user/view/cs_msg/59671.

Regards,

Mathias

former_member273752
Participant
0 Kudos

Hi,

Any ideas..anyone?

Thanks and Regards,

Sid

Former Member
0 Kudos

have you tried using SoapUI and running the process from another tool? you can import the WSDL and then run the end to end process and modify your ABAP accordingly with any changes you see.