cancel
Showing results for 
Search instead for 
Did you mean: 

Keep XI Headers "true"

Former Member
0 Kudos

Hello XI SDN'ers,

I am using SOAP (Axis) adapter to communicate with the external webservice. I have choosen

Transport protocol - HTTP (Axis)

Message Protocol - Axis

and send the SAOP request, it is working.

and after that if I choose:

Keep XI Headers - "true"

I am getting the following error:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<!-- Request Message Mapping -->

<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

<SAP:Category>Application</SAP:Category>

<SAP:Code area="SOAP">MustUnderstand</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>Did not understand "MustUnderstand" header(s):Main</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack />

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Is there any suggestion to overcome this problem?

Note: I am seeting "keep XI Headers" in order to get the cookie.

Thanks and regards,

Satish.

Accepted Solutions (0)

Answers (3)

Answers (3)

vijay_b4
Active Contributor
0 Kudos

Hi Satish,

Try as Prateek said....and

When you post the XML file using the HTTP adapter you will see which envelope is needed!

When you want to Post a Message over the HTTP Adpater to XI your Post Request Adress must look like that:

http://servername:8000/sap/xi/engine?service=<service name>&namespace=<namespace>&interface=<interface>&QOS=<BE for Sync>or<EO for Async>

if you are trying to post a simple XML message, you have to use the HTTP adapter which has the URL

http://servername:8000/sap/xi/adapter_plain

and the parameters like listed in the last reply from Paul.

Reward points if this helps

Regards

Pragathi.

Edited by: Pragathi on May 23, 2008 10:59 AM

former_member556603
Active Contributor
0 Kudos

Hi Satish,

Conversion Parameters

Parameter

Details

Do Not Use SOAP Envelope

If the indicator is set, the adapter expects a message without a SOAP envelope.

If you have set the indicator, you must also enter nosoap=true in the URL.

The adapter then puts the whole message in the XI payload.

Keep Headers

If the header of the Web service message is to be included in the XI message, set the indicator.

Keep Attachments

If attachments of the Web service message are to be included in the XI message, set the indicator.

Use Encoded Headers

If the XI header information is to be included in the encoded string, set the indicator.

Use Query String

If the XI header information is to be included in a query string, set the indicator.

Hope this link is useful to you..

http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm

Thanks,

Satya Kumar

prateek
Active Contributor
0 Kudos

SOAP mustUnderstand attribute indicates that the receiver must process the element. Ur sender is sending the message with header content mustUnderstand = "1". U can change it to 0 to make it optional.

See this

http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383500

Regards,

Prateek

Former Member
0 Kudos

Hello Prateek,

I don't want to set my mustUnderstand as 0, coz I want to get the cookie from webservice response.

@Satya kumar: Thanks for rewriting the definition, I already gone through!!!

@Pragathi: I am posting a simple XML Message and my URL looks perfect as well...

appreciated, if there is any other concrete tipps to be given!!!

Thanks & regards,

Satis.

prateek
Active Contributor
0 Kudos

A workaround could be:

Use "Do not use SOAP envelop" option in the soap communication channel. Then if u want to create header, create it u may use the xsl mapping

Regards,

Prateek