|
Problem(Abstract) |
A WebServices application that is communicating with a
WebServices server that uses Apache SOAP may need to have properties in
the WSDL file manually changed to allow the application to work.
Interoperability problems may occur in a scenario where an IBM® WebSphere®
web services application is communicating with an Apache SOAP web service.
Apache SOAP 2.3 is not compliant with the Basic Profile 1.0.
The following error message is evidence of this interoperability issue.
Ý05/04/14 16:34:00:359 JST¨ 5fc89b3 enterprise I
com.ibm.ws.webservices.engine.enterprise TRAS0014I:
Following exception was logged :
WebServicesFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}
Client
faultString: Unable to retrieve PropertyDescriptor for property
'ns67814089:cp_cd' of class 'class prkd.j.DGConfReq'.
faultActor: /soap/rpcrouter
faultDetail:
Unable to retrieve PropertyDescriptor for property
'ns67814089:cp_cd' of class 'class prkd.j.DGConfReq'.
at com.ibm.ws.webservices.engine.xmlsoap.builders.SOAPFaultBuilder
.createFault(SOAPFaultBuilder.java:228)
at com.ibm.ws.webservices.engine.xmlsoap.builders.SOAPFaultBuilder
.endElement(SOAPFaultBuilder.java:156)
at com.ibm.ws.webservices.engine.events.P2DConverter
.endElement(P2DConverter.java:409)
at sax.SAX2DocumentEntityParserBase.endElementAction(Unknown Source)
at util.DocumentEntityParserBase.endElementEvent(Unknown
Source) |
|
|
|
Cause |
If the WSDL in the soap_client.ear has
https://session-stg.collect.kddi.com/soap/rpcrouter for the endpoint URL,
then this means that the WSDL is indicating that the service the client
developed for access was developed for Apache SOAP.
The target Apache SOAP server does not support qualified elements. The
server could not handle ns67814089 ( ns + QName's hashcode ).
|
|
|
Resolving the
problem |
The WebSphere Application Server 5.0 Information Center
article called "Using Apache SOAP Web services in Version 5.0 and 5.0.1"
states that SOAP 2.3 support for WebSphere Application Server 5.0 (any
modification) is deprecated: "If you are planning a new Web services
project, it is recommended that you develop and implement Web services
based on the Web Services for Java 2 platform, Enterprise Edition (J2EE)
specification."
If one is unable to do so, then edit the WSDL file and change the
elementFormDefault to "unqualified". If the server cannot understand this
ns+ Qname's hashcode, for example ns67814089, change the schema:
<<< Change this schema >>>>
<schema attributeFormDefault="qualified"
elementFormDefault="qualified"
targetNamespace= ...
<<< to this schema >>>
<schema attributeFormDefault="unqualified"
elementFormDefault="unqualified"
targetNamespace= ...
For more information on potential SOAP interoperability concerns, see APAR
JR17605 |
|
|
|
|
Cross Reference information |
Segment |
Product |
Component |
Platform |
Version |
Edition |
Application Servers |
Runtimes for Java Technology |
Java SDK |
|
|
|
|
|
|