cancel
Showing results for 
Search instead for 
Did you mean: 

Improper SOAP message recieved in PI

sherin_jose4
Participant
0 Kudos

Hi,

I am sending the below SOAP message from SoapUI to test a SOAP to RFC scenario. the problem here is that when i check the SXMB_MONI inbound message, the received SOAP message seems to be invalid one and does not look like a proper SOAP message. Kindly help me on this issue.

The SOAP message that i am sending from soapUI is,

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Inbound Message --> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:co="urn:ford/Consumer/Operation/v1.0" xmlns:cv="urn:ford/Consumer/Vehicle/v1.0" xmlns:c="urn:ford/Consumer/v1.0" xmlns:ct="urn:oasis:names:tc:ciq:ct:3" xmlns:a="urn:oasis:names:tc:ciq:xal:3" xmlns:n="urn:oasis:names:tc:ciq:xnl:3" xmlns:p="urn:oasis:names:tc:ciq:xpil:3" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header><WSLToken  XIMessageID="TESTCASE" xmlns="urn:ford/wsl/v1.0"></WSLToken></soapenv:Header>

<soapenv:Body><co:ConsumerCreateRequest allowDataChanges="false" OperatorRegionType="ISO 3166-1 Alpha-2 Code" OperatorRegion="CN">

The message i receive in the Inbound is,

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Inbound Message --> <co:ConsumerCreateRequest xmlns:co='urn:ford/Consumer/Operation/v1.0' xmlns:p='urn:oasis:names:tc:ciq:xpil:3' xmlns:n='urn:oasis:names:tc:ciq:xnl:3' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:cv='urn:ford/Consumer/Vehicle/v1.0' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:ct='urn:oasis:names:tc:ciq:ct:3' xmlns:c='urn:ford/Consumer/v1.0' xmlns:a='urn:oasis:names:tc:ciq:xal:3' allowDataChanges='false' OperatorRegionType='ISO 3166-1 Alpha-2 Code' OperatorRegion='CN'>

Accepted Solutions (1)

Accepted Solutions (1)

former_member184681
Active Contributor
0 Kudos

Hi,

This is because PI does not show the SOAP Envelope in the message payload by standard. I mean: this is nothing surprising and does not mean your system behaves incorrectly. If your requirement is to have the SOAP Envelope in the payload anyway, mark the "Do Not Use SOAP Envelope" checkbox in your sender SOAP Communication Channel.

About those namespaces defined in the message: this is also standard PI's behaviour. If you want them deleted, try using the XML Anonymizer (you can google on that or search SDN for more details if required).

Hope this helps,

Greg

Answers (2)

Answers (2)

sherin_jose4
Participant
0 Kudos

Thanks

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

The SOAP message that i am sending from soapUI is,


<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Inbound Message --> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:co="urn:ford/Consumer/Operation/v1.0" xmlns:cv="urn:ford/Consumer/Vehicle/v1.0" xmlns:c="urn:ford/Consumer/v1.0" xmlns:ct="urn:oasis:names:tc:ciq:ct:3" xmlns:a="urn:oasis:names:tc:ciq:xal:3" xmlns:n="urn:oasis:names:tc:ciq:xnl:3" xmlns:p="urn:oasis:names:tc:ciq:xpil:3" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header><WSLToken  XIMessageID="TESTCASE" xmlns="urn:ford/wsl/v1.0"></WSLToken></soapenv:Header>
<soapenv:Body><co:ConsumerCreateRequest allowDataChanges="false" OperatorRegionType="ISO 3166-1 Alpha-2 Code" OperatorRegion="CN">

The message i receive in the Inbound is,


<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Inbound Message --> <co:ConsumerCreateRequest xmlns:co='urn:ford/Consumer/Operation/v1.0' xmlns:p='urn:oasis:names:tc:ciq:xpil:3' xmlns:n='urn:oasis:names:tc:ciq:xnl:3' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:cv='urn:ford/Consumer/Vehicle/v1.0' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:ct='urn:oasis:names:tc:ciq:ct:3' xmlns:c='urn:ford/Consumer/v1.0' xmlns:a='urn:oasis:names:tc:ciq:xal:3' allowDataChanges='false' OperatorRegionType='ISO 3166-1 Alpha-2 Code' OperatorRegion='CN'>

You have to remember the difference between the standard SOAP with the PI-SOAP format. In the standard SOAP implementation, the payload is in the SOAP Body whereas in the PI-SOAP, the payload is an attachment (1st attachment). So what you are seeing is normal. If you want to see the whole SOAP Envelope in the XI/PI payload, you have to use the method suggested by Grzegorz (do not use soap envelope).

Regards,

Mark

sherin_jose4
Participant
0 Kudos

Thanks Mark and Grzegorz for your replies.

I tried that "Do not use SOAP envelope" option in my sender SOAP channel. When i saw the sxmb_moni log, there was only Soap Header and Body entry in the inbound message, there was no payload message itself. Once i receive the SOAP Payload, i use an Authentication check hence i need to receive the payload in a SOAP envelope to process the action.

Any help on this would be appreciated !

sherin_jose4
Participant
0 Kudos

Hi,

I have rectified the issue.

I missed to add &nosoap=true in the URL and it worked after i added this.

Cheers,

Sherin Jose P

Edited by: sherinjosep1985 on Feb 1, 2012 7:29 AM