on 01-04-2012 10:59 AM
HI All,
I am setting soapAction in receiver communication channel using DynamicConfiguration.
I performed following Configuration in receiver SOAP adapter.
Advanced Tab -> Check 'Use Adapter Specific Message Attributes' -> Check 'Variable Transport Binding' -> Variable Header (XHeaderName1) = THeaderSOAPACTION SOAP Action in General Tab is empty
I am using following code snippet in UDF under message mapping.
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION");
String soapAction = "http://abc.com/acon/service/1.0/IServiceOut/AddNote";
conf.put(key, soapAction);
return "";
Now while executing scenario using SOAPUI tool, at runtime i get following soap error message -
soap fault: The message with Action ', http://abc.com/acon/service/1.0/IServiceOut/AddNote' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
I observed that in soapAction "," (comma) is being appended in starting. I believe this additional comma is causing problem. How can we remove this automatically appended comma from Soap Action?
Thanks in anticipation.
- Gopi
Thanks all,
We able to resolve the issue of appending comma(,)at the starting of SOAPAction and getting two SOAPAction by applying the OSS note :1255400.
Gopi.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi gopi,
check the below link for dynamic configuration.
http://www.saptechnical.com/Tips/XI/ASMA/Index.htm
regards,
Kesava.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
We are able to solve additional comma (,) problem in start of SOAPAction. Thanks for your inputs.
But now we are facing another problem which contains 2 SOAPActions in HTTP Headers as shown below.
POST /MyService/MyService.svc HTTP/1.0
Accept: */*
Host: training.com:8080
User-Agent: SAP-Messaging-com.sap.aii.af.sdk.xi/1.0505
content-id: <soap-001CC4FC74A51EE18DF87E8066A44800.sap.com>
Content-Type: text/xml; charset=utf-8
Content-Length: 277
SOAPACTION:
SOAPACTION: <a href="http://abc.com/acon/service/1.0/IServiceOut/AddNote" TARGET="test_blank">http://abc.com/acon/service/1.0/IServiceOut/AddNote</a>
<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP:Header/>
<SOAP:Body>
some body message
</SOAP:Body>
</SOAP:Envelope>
Please provide inputs to remove empty SOAP Action from HTTP Headers.
Do i need to set any parameter in receiver channel to suppress it?
- Gopi
Hi,
check your WSDl file. open with notepad and check the soap action is there any comma or not.
check your UDF which was you are writing in mapping to get the soap action dynamicaly.
DynamicConfigurationKey keyURL = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION");
DynamicConfiguration conf =
(DynamicConfiguration) container.getTransformationParameters ().get (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
String soapAction = "http://abc.com/acon/service/1.0/IServiceOut/AddNote";
conf.put(keyURL, soapAction);
return soapAction;
regards,
ganesh.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.