on 01-28-2005 12:34 PM
Hi,
We're setting up the J2SE SOAP Adapter of XI 2.0 to talk to a synchronous web service provided by a webmethods platform.
When we generate the Request message using the WSDL and post it directly via the HTTP test tool the message is understood and a response message is returned.
Here is the Request:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<m:callFP091 xmlns:m="http://destserver/FP091.flows" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<iw1_RECTPE xsi:type="xsd:string">String</iw1_RECTPE>
<iw1_DLRCODE xsi:type="xsd:string">String</iw1_DLRCODE>
<iw1_FRNCODE xsi:type="xsd:string">String</iw1_FRNCODE>
<iw1_JOBNUM xsi:type="xsd:string">String</iw1_JOBNUM>
<iw1_CHASIS xsi:type="xsd:string">String</iw1_CHASIS>
<iw1_COLOUR xsi:type="xsd:string">String</iw1_COLOUR>
<iw1_DESCRIP xsi:type="xsd:string">String</iw1_DESCRIP>
<iw1_INVNUM xsi:type="xsd:string">String</iw1_INVNUM>
<iw1_CAPAMT xsi:type="xsd:string">String</iw1_CAPAMT>
<iw1_INTFRE xsi:type="xsd:string">String</iw1_INTFRE>
<iw1_LOC_IND xsi:type="xsd:string">String</iw1_LOC_IND>
<iw1_REGISTRATION xsi:type="xsd:string">String</iw1_REGISTRATION>
<iw1_ENGINE_NUM xsi:type="xsd:string">String</iw1_ENGINE_NUM>
<iw1_VIN_NUM xsi:type="xsd:string">String</iw1_VIN_NUM>
</m:callFP091>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
When we try to use the SOAP Adapter and pass it the following message from XI:
<m:callFP091 xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:m="http://destserver/FP091.flows"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >
<iw1_RECTPE xsi:type="xsd:string">E1</iw1_RECTPE>
<iw1_DLRCODE xsi:type="xsd:string">3009838</iw1_DLRCODE>
<iw1_FRNCODE xsi:type="xsd:string">333</iw1_FRNCODE>
<iw1_JOBNUM xsi:type="xsd:string">123</iw1_JOBNUM>
<iw1_CHASIS xsi:type="xsd:string">2</iw1_CHASIS>
<iw1_COLOUR xsi:type="xsd:string">3</iw1_COLOUR>
<iw1_DESCRIP xsi:type="xsd:string">4</iw1_DESCRIP>
<iw1_INVNUM xsi:type="xsd:string">5</iw1_INVNUM>
<iw1_CAPAMT xsi:type="xsd:string">6</iw1_CAPAMT>
<iw1_INTFRE xsi:type="xsd:string">7</iw1_INTFRE>
<iw1_LOC_IND xsi:type="xsd:string">8</iw1_LOC_IND>
<iw1_REGISTRATION xsi:type="xsd:string">9</iw1_REGISTRATION>
<iw1_ENGINE_NUM xsi:type="xsd:string">1</iw1_ENGINE_NUM>
<iw1_VIN_NUM xsi:type="xsd:string">2</iw1_VIN_NUM>
</m:callFP091>
The SOAP adapter wraps the envelope and body around this message, provides an empty header but changes the SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" attribute to SOAP:actor='http://schemas.xmlsoap.org/soap/encoding/'.
The generated SOAP message is:
<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP:Header/>
<SOAP:Body>
<m:callFP091 xmlns:m='http://196.11.134.83/FP091.flows'
SOAP:actor='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<iw1_RECTPE xsi:type='xsd:string'>E1</iw1_RECTPE>
<iw1_DLRCODE xsi:type='xsd:string'>3009838</iw1_DLRCODE>
<iw1_FRNCODE xsi:type='xsd:string'>333</iw1_FRNCODE>
<iw1_JOBNUM xsi:type='xsd:string'>123</iw1_JOBNUM>
<iw1_CHASIS xsi:type='xsd:string'>2</iw1_CHASIS>
<iw1_COLOUR xsi:type='xsd:string'>3</iw1_COLOUR>
<iw1_DESCRIP xsi:type='xsd:string'>4</iw1_DESCRIP>
<iw1_INVNUM xsi:type='xsd:string'>5</iw1_INVNUM>
<iw1_CAPAMT xsi:type='xsd:string'>6</iw1_CAPAMT>
<iw1_INTFRE xsi:type='xsd:string'>7</iw1_INTFRE>
<iw1_LOC_IND xsi:type='xsd:string'>8</iw1_LOC_IND>
<iw1_REGISTRATION xsi:type='xsd:string'>9</iw1_REGISTRATION>
<iw1_ENGINE_NUM xsi:type='xsd:string'>1</iw1_ENGINE_NUM>
<iw1_VIN_NUM xsi:type='xsd:string'>2</iw1_VIN_NUM>
</m:callFP091>
</SOAP:Body>
</SOAP:Envelope>
This message has no SOAP:encodingStyle attribute and is therefore not understood by the WebMethods web service. Here is the error message from the web service:
[B2BCORE.0076.9201] SOAP Message Coder cannot decode message; no encoding style is specified
How do I configure the outbound SOAP adapter within the XI 2.0 J2SE adapter engine to add the SOAP:encodingStyle attribute to the outbound message?
I have tried playing around with the XMBWS.* parameters outlined in the adapter engine documentation but these don't seem to have any influence on the way the SOAP request message is formed.
Any suggestions would be appreciated.
Regards,
-Derek
Hi,
You could use the webMethods XI adapter to create the connection.
Best Regards,
Sander
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
75 | |
9 | |
8 | |
7 | |
6 | |
5 | |
5 | |
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.