on 04-25-2012 5:11 PM
Hi guys,
I need to call via ABAP-PROXY a XI 3.0 service but it is neccesary to add to tags into SOAP-HEADER.
I've seen an aproximation in this thread http://scn.sap.com/thread/1706794 working with if_ixml interface. I could also to wrap all the message and later in XI to extract it.
My question is, is it possible to access to PI-SOAP header without if_xml interface in the abap enviroment when i do my proxy-interface?
Do you have another idea to change the SOAP-HEADER inside XI with the restriction that the version is XI 3.0?, for example with an UDF to put in the header the fields that comes in the payload source xml.
Regards.
Do you have another idea to change the SOAP-HEADER inside XI with the restriction that the version is XI 3.0?, for example with an UDF to put in the header the fields that comes in the payload source xml.
Though the version is XI 3.0, still you can use Java mapping or XSLT mapping to alter the SOAP Header inside XI itself. There won't be problem with this. BTW, are you consuming the web service via XI?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Baskar,
The scenario is PROXY ABAP-SOAP. The third-party web service needs some tags in the SOAP-HEADER . Do you think the best way is to create an UDF in XI and to pass the fields in the payload source message and later put them in the SOAP header?, don't you know another possibility in the ABAP side?
Regards.
Hi Iñaki,
I believe that any ingerence into the SOAP Header of the ABAP Proxy call would be rather difficult to perform on the ECC side. Instead, I would recommend going for the design you mentioned: include the values in the message payload on the sender side, and then put them into the target payload during mapping.
My only concern is: how do you want to put values into SOAP Header with a UDF? I believe this is only possible with HTTP Header (of the SOAP call) & Dynamic Configuration. In order to put values into SOAP Header, you would have to generate the SOAP Envelope yourself, and mark the "Do not use SOAP Envelope" indicator in the receiver SOAP CC. And you can only create the SOAP Envelope yourself with Java mapping or XSLT mapping, as far as I know (it could be the second message mapping in the operation mapping, after a graphical one, for your convenience).
Hope this helps,
Greg
>The third-party web service needs some tags in the SOAP-HEADER . Do you think the best way is to create an UDF in XI and to pass the fields in the payload source message and later put them in the SOAP header?
Since your target system requires some customize soap header, one common approach is to do in mapping. If some parameter values needs to be updated you might use dynamic configuration using UDF or so. If you need to add namespace or namespace prefix or more changes then go for XSLT or java mapping to match the target system's webservice requirement. This is one standard approach.
>don't you know another possibility in the ABAP side?
You might want to wait for other experts to answer for this.
At first thanks to Praveen, Baskar and Grzegorz.I knew that i can count on you.
Finally I'm going to use the Grzegorz option with an XSLT mapping and withe the option Dont Use SOAP envelope. Also as Grzegorz says, i've checked that is no possible to use an UDF in this case. The Praveen advice is good too but the problem is that there are some development done and i need no to spend so much time in this.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Iñaki Vila wrote:
Hi guys,
I need to call via ABAP-PROXY a XI 3.0 service but it is neccesary to add to tags into SOAP-HEADER.
I've seen an aproximation in this thread http://scn.sap.com/thread/1706794 working with if_ixml interface. I could also to wrap all the message and later in XI to extract it.
My question is, is it possible to access to PI-SOAP header without if_xml interface in the abap enviroment when i do my proxy-interface?
Do you have another idea to change the SOAP-HEADER inside XI with the restriction that the version is XI 3.0?, for example with an UDF to put in the header the fields that comes in the payload source xml.
Regards.
Hi,
Some time back, I have a similar question http://scn.sap.com/thread/1567600 . Unfortunately there is no provision for this if we use XI runtime enviornment. Links:
http://help.sap.com/saphelp_nw04/helpdata/EN/51/d5cd16235e4643ae8ec92395c4ad97/frameset.htm
http://help.sap.com/saphelp_nw70ehp2/helpdata/en/51/d5cd16235e4643ae8ec92395c4ad97/frameset.htm
http://help.sap.com/saphelp_nw73ehp1/helpdata/en/51/d5cd16235e4643ae8ec92395c4ad97/frameset.htm
In XI, you can think of doing in this way. Create webservice SOAP envelope as a payload. Meaning it contains SOAP envelope, header, body etc... In the receiver SOAP channel enable check box "Do not use SOAP envelope"
- Praveen
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.