Skip to Content
author's profile photo Former Member
Former Member

XI 2.0 Standalone J2SE SOAP Adapter as client - SOAP:encodingStyle

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

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Mar 02, 2005 at 07:41 PM

    Hi,

    You could use the webMethods XI adapter to create the connection.

    Best Regards,

    Sander

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.