on 01-18-2011 11:28 AM
Hi all,
I have to implement an IDOC->PI->XML interface to transfer some master data. After performing the mapping, the mapped data needs to be sent to the target system using a SOAP request via a webservice.
On PI, I specified the URL for the WS in a SOAP-oriented Communication Channel. In the parameter "SOAP Action" of this CC, I entered the relevant method name to be used to transfer the mapped data. However, this method requires 2 parameters:
- applicationName: this is the name of the target structure used in the Message Mapping
- xmlMessage: this is the actual mapped message string
So my question is: how can I bind these 2 parameters in my PI design and configuration?
Thanks for your help,
Eric
Hi all,
Thanks for your support. I finally found the solution to my problem [here|http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/2620] [original link is broken] [original link is broken] [original link is broken];. It is just a double mapping to perform in my interface...
Best,
Eric
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
<div class="jive-quote">I just read again your reply and I think I got what you mean: basically the method in the SOAP action can NEVER handle any parameter (which means that there should be one WS created per interface, involving one dedicated SOAP Action for the interface). Honestly, I think this is a big limitation... Please confirm it is what you mean. </div>
I think you are getting confused over here ........
h5.
Hello Eric,
h5.
I will try to explain you in short with and example. I think i know what your issue is:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Stefan,
I just read again your reply and I think I got what you mean: basically the method in the SOAP action can NEVER handle any parameter (which means that there should be one WS created per interface, involving one dedicated SOAP Action for the interface). Honestly, I think this is a big limitation... Please confirm it is what you mean.
At present, the third party consultant assumes that there will be one WS for all the interfaces to be created for inbound communications to their system, allowing the use of parameters to switch to the right processing within the method...
Eric
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
there can be one WS having many actions....which means one WS can be used in multiple interfaces.
However, this method requires 2 parameters:
- applicationName: this is the name of the target structure used in the Message Mapping
- xmlMessage: this is the actual mapped message string
If I get it correctly, you have to actually set the SOAP action before you send the message to the WS....and you want to do it in SAP PI?
so your action is something like http://something.abcd/applicationName/xmlMessage and you have to set the things here?
If yes, then you can use the Dynamic Configuration (adapter specific message attributes...ASMA) in SOAP channel (UDF in mapping) and set this ASMA THeaderSOAPACTION
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION");
String a = http://something.abcd/applicationName/xmlMessage //set the value of actual action here
conf.put(key, a);
return "";
Regards,
Abhishek.
> On PI, I specified the URL for the WS in a SOAP-oriented Communication Channel. In the parameter "SOAP Action" of this CC, I entered the relevant method name to be used to transfer the mapped data. However, this method requires 2 parameters:
> - xmlMessage: this is the actual mapped message string
I do not get this. The SOAPAction identifies the web service operation, but does not have any dynamic content.
So you can create a SOAP receiver channel for each interface type and apply the SOAP action.
But the xml Message should not be part of the soap action.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Stefan,
Many thanks for your reply. The WSDL has been provided to me by a third party consultant working on the target system. I am not sure he knows the way PI handles SOAP requests. At the same time I am not a WS expert...
In any case, if you mean that the XML message after mapping should not be passed as a parameter of the SOAP Action, how is this message physically passed in the SOAP request to the target system (for instance when I test my SOAP request using WS Navigator?). I need to know the way it works, to let the person who provided the WSDL for me.
Thanks,
Eric
> At the same time I am not a WS expert...
Sorry, you must be an expert for web service when you work with SAP PI.
This is the must common interface type.
This might be useful also:
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.