PQ73970: Array of complex type in WSGW no deserializer | |||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description Abstract:Array of complex type in WSGW no deserializer Environment: WAS v5.0.0 (GA) WSAD v5.0.0 (GA) WSADIE v5.0.0 Build 20030122_1554) Problem Description: A web service containing arrays of complex types deployed to the WSGW using 'Generic Classes' won't generate a working web-service in WSAD (or WSADIE). I have a web service which returns a complex type which, within the complex type, returns an array of complex types. ie. The web service returns a type MVRDetails, which has a field Violationワ], where Violation is a different complex type. If I select 'Generic Classes' when deploying to the Gateway, it deploys ok. But when I import the generated WSDL into WSAD, I get the following error at runtime: ******************************************************** ワSOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to deserialize a 'http://javabean.mvr.lgdirect.hursley.wpst/:CustDetails&apo s; using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.] at proxy.soap.MVRServiceDefinitionProxy.returnDetails(MVRServiceDef initionProxy.java:135) at proxy.soap.TestProxy.run(TestProxy.java:38) at proxy.soap.TestProxy.main(TestProxy.java:21) ******************************************************** (using SOAP web-services in WSAD) ******************************************************** org.apache.wsif.WSIFException: ワAttributes={}] ワfaultCode=SOAP-ENV:Client] ワfaultString=No Deserializer found to deserialize a 'http://javabean.mvr.lgdirect.hursley.wpst/:CustDetails' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.] ワfaultActorURI=/wsgwsoap1/soaprpcrouter] ワDetailEntries=] ワFaultEntries=] at kie.test.InitiateMVRServiceBeanProxy.execute(InitiateMVRServiceB eanProxy .java:504) atLocal fix kie.test.I itiateMVRServiceBeanProxy.returnDetails(InitiateMVRSe rviceBea nProxy.java:235) at kie.test.TestProxy.run(TestProxy.java:38) at kie.test.TestProxy.main(TestProxy.java:21) ******************************************************** (using Enterprise Services WSIF-based web service in WSADIE) So WSAD and WSADIE can't find a deserializer. Shouldn't WSAD be able to create a deserializer for the complex types from the WSDL? Is there a problem with the interoperability between the WSDL generated by the WSGW and the WSDL understood by WSAD? LOCAL FIX:ン This problem will be fixed in WAS V5.0.2. The fix for this has already been delivered in beta code which was available in WAS build ASV50X PTF2M0314.14. This fix also prereqs new feature code for SOAP HTTP Channel support which will also be made newly available in WAS V5.0.2. This new code has been developed at Hursley under the CMVC wsgw family as features 743, 743.1, 743.2, and 743.3, and is also available in beta form in the above build or later. Note that this code is dropped into the Austin botp library system as a binary batched up with many new features and new defect fixes. I was not planning to create an APAR for this specific problem. As with Chimaera 1, there will be a list in the README of the problems fixed within Chimaera 2. To explain any confusion you may have had, the Web Services code is being developed at Hursley for inclusion into several different target products (you will have seen reference to PMR 01226,B999,C000 for the WBC product, of which this problem is a duplicate). APAR JR18217, was opened for this PMR.Problem summary **************************************************************** * USERS AFFECTED: WebSphere Application Server Developers * * writing SOAP web service clients * **************************************************************** * PROBLEM DESCRIPTION: Arrays are incorrectly deserialized * * when running through the Web Services * * Gateway using generic classes * **************************************************************** * RECOMMENDATION: * **************************************************************** SOAP messages from target server contain arrays without type information on each array element (that is, type information only at the top level) cause incorrect results when used with 'generic classes' deployment option.Problem conclusion This problem will be fixed in WebSphere Application Server V5.0.2Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server > General
Operating system(s):
Software version: 00W
Software edition:
Reference #: PQ73970
IBM Group: Software Group
Modified date: Jun 5, 2003
(C) Copyright IBM Corporation 2000, 2008. All Rights Reserved.