cancel
Showing results for 
Search instead for 
Did you mean: 

SOAPAction - how to set dynamically.

ravi_kanakam
Explorer
0 Kudos

Hi Pi expert(s),

I configured a WebService with 3 party. Thw WebService has 20 different soap operations. I created a UDF to set the "http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION". I am able to see the soap operation in message trace. but not getting to HTTP header. I am missing on how to transfer dynamic config value to HTTP header. your earliest response is highly appreciated. Please advise.

Edited by: Ravi Kanakam on May 4, 2011 2:01 PM

Accepted Solutions (1)

Accepted Solutions (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Also ASMA checkbox needs to be selected in addition to your changes.

Refer this link also...

ravi_kanakam
Explorer
0 Kudos

Hi Baskar, Thank you for your suggestion. I now enabled ASMA (Check the Adapter specific Message Attributes), but still getting the error. am i missing something else. See error below:

soap fault: System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: . at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response) at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)</

Here is the SOAPAction in Dynamic Configuration

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Inbound Message --> <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:Record namespace="http://sap.com/xi/XI/System/SOAP" name="THeaderSOAPACTION">https://www.XXXX.com/EmployerWebService/EmpGetClosureCodes</SAP:Record></SAP:DynamicConfiguration>

Former Member
0 Kudos

Hi Ravi,

When you see the log of dynamic configuration in action you have:

https://www.XXXX.com/EmployerWebService/EmpGetClosureCodes

In that what is the action. Is it EmpGetClosureCodes or the whole url?

I assume your soap action is EmpGetClosureCodes. If yes then in your udf the output should be only come as EmpGetClosureCodes. You need to enable Use adapter specific message attributes in Advanced tab. Also in soapAction you put as THeaderSOAPACTION. So please check accordingly.

Regards,

---Satish

baskar_gopalakrishnan2
Active Contributor
0 Kudos

You can find action from the WSDL itself... Please check your action and accordingly set your action in the UDF.

The log message shows the following...

WSDL URL :https://www.xxxx.com/EmployerWebService

soap action :EmpGetClosureCodes

In this case assign THeaderSOAPACTION to EmpGetClosureCodes

Hope that helps.

ravi_kanakam
Explorer
0 Kudos

The issue has been resolved. Thanks to Satish & Baskar. Very much appreciated your help.

Answers (0)