Download
Abstract
Web service imports generate incorrect SOAP requests. They generate an xsd:long type attribute instead of a soapenc:long attribute.
Download Description
JR31297 resolves the following problem:
ERROR DESCRIPTION:
A Web Services Description Language (WSDL) definition from Axis 1.4 has an input with type soapenc:long. However, the Web service import component creates a SOAP message that has that input as type xsd:long.
This problem is isolated to the Web service component. Other code, such as BOXMLSerializer, produce the correct types in XML format.
WSDL definition
:
<wsdl:message name="retrieveByIDRequest1">
<wsdl:part name="contactID" type="soapenc:long"/>
</wsdl:message>
:
where, xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
SOAP message
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soapenv:Body
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<p660:retrieveByID xmlns:p660="urn:AxisContactHandler">
<contactID href="#id0"/>
</p660:retrieveByID>
<multiRef id="id0" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="xsd:long"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">11181
<href xsi:type="xsd:anyURI"/>
<id xsi:type="xsd:ID"/>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
Expected output message
<multiRef
id="id0"
soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/
"
--> xsi:type="soapenc:long"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
11181
</multiRef>
Actual output message
<multiRef
id="id0"
soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/
"
--> xsi:type="xsd:long"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
11181
</multiRef>
LOCAL FIX:
None
USERS AFFECTED:
WebSphere Process Server and WebSphere Enterprise Service Bus v6.1.0.3, V6.1.2.2, V6.2.0 and earlier users who use RPC/literal-encoded WSDL interfaces with soapenc types.
PROBLEM DESCRIPTION:
Web service imports generate SOAP requests using the incorrect type attribute (xsd:long instead of
soapenc:long).
RECOMMENDATION:
None
PROBLEM SUMMARY:
When serializing SOAP messages, the Service Component Architecture (SCA) Web service JAX-RPC binding creates xsi:type attributes for all elements in the WSDL interfaces. By default, the attribute types use the XML Schema Definition (XSD) schema, which overwrites the explicit soapenc type that is declared in the WSDL definition.
PROBLEM CONCLUSION:
Apply the interim fix for 6.1.2.0, 6.1.2.1 or 6.1.2.2 to resolve this problem, or upgrade to one of the following fix pack levels: WebSphere Process Server or WebSphere Enterprise Service Bus V6.1.2.3, or V6.2.0.1.
Prerequisites
Download the Update Installer below to install this fix.
Installation Instructions
See the readme.txt file for detailed installation instructions.
Technical Support
Contact IBM Support using an Electronic Service Request (ESR - http://www.ibm.com/software/support/probsub.html), visit the WebSphere Process Server Support Web site (http://www.ibm.com/software/integration/wps/support/), or call 1-800-IBM-SERV (U.S. only).
Problems (APARS) fixed
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg24024070