cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP channel trimming off xml header line

Former Member
0 Kudos

hi Experts,

The system I work on consists of two XI boxes. Hence any mesage which flows from a service BS1 to service BS2 flows in the following manner:-

BS1->XIbox1->XIBox2->BS2

Please note that XIBox1 is running on PI 7.31 and XIBox2 on PI 7.11.

Now for my particular interface, I am currently using a SOAP channel to connect between the two systems.

Hence my message going from BS1 to XIBox1 goes out as the target XML through a SOAP receiver channel which in turn calls a SOAP sender channel of the second box XIBox2. In XIBox2, I simply have an ICO which routes the messages to different parties based on certain filter criteria.

Now when i see the message in sxmb_moni in XIBox1, the source code of the target message has

"<?xml version="1.0" encoding="utf-8"?>" at the topmost level. I also have the same when i view the message in receiver SOAP channel monitoring in XIBox1. However, when i open the message in message monitoring in XIBox2, the "<?xml version="1.0" encoding="utf-8"?>"  disappears.

Can anyone explain to me what is the issue here?

Also it would be great if you could help me find a solution :-

Now for the same case above, because i am using the SOAP channel, an additional namespace comes into the message

"xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/".

Please note that i have tried to use "Do not use SOAP envelope", but then the channel fails.

So for the same reason, I am using the anonymizer bean - acceptnamespace in the party receiver channel.

Now when i use this, the unwanted namespace goes away, however, the xml header line on the top is having single quotes -

<?xml version='1.0"'encoding='utf-8'?>

This is also causing an issue at the receiver end.

Can anyone help me on a way out of this

This is really urgent and any help would be highly appreciated.

Regards,

Ninu

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Somebody?!! anybody?!! reply please

Former Member
0 Kudos

hi All,

figured it out ... thanks to the document

By using this parameter, you can use the SOAP adapter to send or receive non-

SOAP messages. In this case the sender SOAP adapter requires an additional

parameter nosoap=true in the URL. For example:

http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?

channel=<party>:<service>:<channel>&nosoap=true

It worked for me.

Regards,

Ninu

Answers (0)