on 04-24-2009 1:32 PM
Hi Experts,
I am working on SOAP-XI-Proxy Scenario. The Java system is using the WSDL from XI and triggering the following request
<?xml version="1.0" encoding="UTF-8" ?>
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soapenv:Body>
- <SearchCustomer xmlns="urn:com.axonglobal.sbc.icase.customersearch">
<BPNo />
<Surname>Jones</Surname>
<FirstName />
<Phone />
<Email />
<PostCode />
<HouseNo />
<FlatNo />
<Street />
<Building />
<Estate />
</SearchCustomer>
</soapenv:Body>
</soapenv:Envelope>
But it receives the following error.
<?xml version="1.0" encoding="utf-8" ?>
- <!--
see the documentation
-->
- <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
- <SOAP:Body>
- <SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>Server Error</faultstring>
- <detail>
- <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>MalformedMessageException</code>
- <text>
- <![CDATA[
Unexpected content in SOAP:Body; nested exception caused by:
com.sap.aii.messaging.util.XMLScanException: Unexpected content in SOAP:Body
at com.sap.aii.messaging.mo.Message.reparseRootDocument(Message.java:1014)
at com.sap.aii.messaging.net.MIMEInputSource.readSOAPPart(MIMEInputSource.java:619)
at com.sap.aii.messaging.net.MIMEInputSource.decodePart(MIMEInputSource.java:611)
at com.sap.aii.messaging.net.MIMEInputSource.readBody(MIMEInputSource.java:379)
u2026.
u2026u2026.
]]>
</text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
IMP:- The call is not registered in the Message Monitoring at Adapetr Level or at Integration Engine Level, as I believe it is rejected as the Message Format is not correct .
Is it because , the request message is wrapped with the SOAP Envelope with the notation u2018<soapenv:Envelopeu2019 instead of the traditional u2018<SOAP:Envelopeu2019 notation?
We tested the same with XML Spy and it is working fine with the same payload.
Pls advise.
Regds.
Edited by: Subhendu Sahu on Apr 24, 2009 12:39 PM
Hi,
<?xml version="1.0" encoding="UTF-8" ?>
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soapenv:Body>
- <SearchCustomer xmlns="urn:com.axonglobal.sbc.icase.customersearch">
<BPNo />
<Surname>Jones</Surname>
<FirstName />
<Phone />
<Email />
<PostCode />
<HouseNo />
<FlatNo />
<Street />
<Building />
<Estate />
</SearchCustomer>
</soapenv:Body>
</soapenv:Envelope>
Use the below format:
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP:Body>
<SearchCustomer xmlns="urn:com.axonglobal.sbc.icase.customersearch">
<BPNo />
<Surname>Jones</Surname>
<FirstName />
<Phone />
<Email />
<PostCode />
<HouseNo />
<FlatNo />
<Street />
<Building />
<Estate />
</SearchCustomer>
</SOAP:Body>
</SOAP:Envelope>
Hopefully it will work with the above given format...if not then remove the namespace associated with SearchCustomer and test.
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soapenv:Body>
- <SearchCustomer xmlns="urn:com.axonglobal.sbc.icase.customersearch">
Are you testing with sign in the payload??....if yes remove it.
Regards,
Abhishek.
Edited by: abhishek salvi on Apr 24, 2009 7:57 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Abhisek,
I dont have the control to create the Envelope. The Java System has automatically wrapped the payload with the SOAP Envelope.
I am not using '-'. I just copied it from the JAva System.
Please let me know, is the error coming (XI is not accepting the call) because of the notation '<soapenv:Envelope' ?
Regds.
Hi,
I dont have the control to create the Envelope. The Java System has automatically
wrapped the payload with the SOAP Envelope.
test the scenario by sending the message from Runtime Workbench / some soap client
(like SAP SOAP Client, Altova XML SPY).....better try sending the message from some
SOAP Client...use both the formats...which the JAVA system is sending and the one which i mentioned.....
I am not using '-'. I just copied it from the JAva System.
ok:)
Regards,
Abhishek.
Edited by: abhishek salvi on Apr 25, 2009 12:29 PM
Hi,
I know, the payload you have mentioned will work. The payload was selected from the Java Log, after they sent the request.
As it is a standard followed by the JAVA(which my client is using), I cant always change the format they send.
So I used the option 'DONOT USE SOAP ENVELOPE', and with the addition of ' nosoap=TRUE' in the target URL of XI. Now the message enters the Integration Engine.
I am closing this thread, as my question is answered. I am facing the difficulties, mapping the content now,and I ll be raising a new thread.
Thanks for your help.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Please confirm whether your SOAP request using XML Spy is reaching XI.
Also check the datatypes and occurences in the wsdl
Thanks,
Tiny
Edited by: TINY MAMPILLY on Apr 24, 2009 3:19 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
90 | |
10 | |
10 | |
10 | |
7 | |
7 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.