SOAP to IBM WebSphere pitfalls

Hi

As a note to whomever needs it, we have had some issues in importing a webMethods WSDL into WebSphere (v4) for client generation. Things that were bugging us:

  1. Make sure you have an XML namespace defined in the root document of your input document (see screen.jpg);
  2. Use no non-alphabetic chars in your document names & definitions if it can be avoided;
  3. Manually add “literal” in the WSDL as in following example:

<wsdl:binding name=“xxx” type=“tns:yyy”>
<soap:binding style=“rpc” transport=“zzz”/>
<wsdl:operation name=“test”>
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body encodingStyle=“qqq” namespace=“xxx” use=“literal”/>
</wsdl:input>
<wsdl:output>
<soap:body encodingStyle=“qqq” namespace=“xxx” use=“literal”/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>

If you know of any other issues or tips, please add them.

Chris.

Chris,

Thanks for the update and sharing the info.

Update: if you have generated a client through WebSphere (WAS) and it is complaining that the response XML is not valid, try using Apache Axis 1.2. It has been found that Axis 1.0 still has some issues.

Regards, Chris

Update: When using nested Documents in the input or output definition, make sure you prefix the type name with “tns”.
So:

 xsd:element name=abc nillable=true type=ArrayOfstring minOccurs=0 

Becomes:

 xsd:element name=abc nillable=true type=[b]tns:[/b]ArrayOfstring minOccurs=0 

Regards, Chris