on 09-22-2008 12:14 PM
Hello Everyone,
I am currently working on a project which requires us to set the SOAP action dynamically:
I did follow the guidelines mentioned in the following links
The process which we are using is as follows
We are creating the following UDF and mapping the root nodes in message mapping using it
DynamicConfigurationKey keyURL = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION");
// access dynamic configuration
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
conf.put(keyURL,"RetrieveList");
return "";
In the Receiver Comm Channel we are setting the use adapter specific identifiers option and the use variable binding option. We are leaving the SOAP Action field blank.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Inbound Message
-->
<SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>SOAP:Server</faultcode>
<faultstring>String index out of range: 0</faultstring>
<faultactor>Server</faultactor>
</SOAP:Fault>
Now we tested the scenario using TCP Mon and we identified that for the value of SOAP Action we are getting the following results
SOAPAction:
SOAPAction: actual value
It means that 2 SOAP Action are generated one being the empty SOAP Action from Receiver Comm Channel and the other being the one generated using UDF.
Can anyone please update us on if our steps are proper or is there a way to supress the SOAP Action which we left empty in the receiver comm channel.
Your help is truly appreciated.
Thanks.
Kiran
Did you follow all the three steps I have pointed in the thread,
1. In the Receiver SOAP adapter,Select options ,
a) Use Adapter Specific Message Attributes
b) variable Transport Binding.
c) Keep the SOAP action field empty.
In the receiver SOAP adapter, make sure that the soap action is empty and the above options are selected.
In this case, the SOAP action from the UDF will be choosen.
But, if you enter something in the receiver SOAP adapter's SOAP action this will be treated as the SOAP action rather than the UDF code.
Regards
Bhavesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Bhavesh,
Thanks for your quick response. We did configure the Receiver SOAP as per the 3 steps mentioned by you and we have even kept the Receiver SOAP Action blank in our comm. channel we are still getting the error. Do we need to add some information when we select the variable Transport Binding option ?
Thanks.
Kiran
Kiran
Can you try one of the free webservices on the internet to test this out?
Maybe you can use the Currency Converter webservice in my blog "Webservice Calls from a UDF ".
If XI behaves the same with this Webservice, then its a issue on the PI server and you should raise a OSS with SAP.
Regards
Bhavesh
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
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.