PQ98512: A SOAP REQUEST MESSAGE LOSES MULTIREF ELEMENTS WHEN SENT VIA THE WEB SERVICES GATEWAY. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description When a SOAP request message containing multiRef elements is sent by a client to the Web Services Gateway, the multiRef elements are removed from the message and the message is forwarded to the target service with the multiRef elements missing.Local fix Operating with Selective SOAP Parsing enabled should circumvent the problem under certain conditions.Problem summary **************************************************************** * USERS AFFECTED: Users of the Web Services Gateway. * **************************************************************** * PROBLEM DESCRIPTION: If a SOAP HTTP Web Services request is * * sent to a target service through the * * Web Services Gateway, and the SOAP * * request contains multiRef elements, * * the multiRef elements are lost when * * the Web Services Gateway sends the * * request to the target service. * * * * This will generally result in an * * error in the Web Service. * **************************************************************** * RECOMMENDATION: * **************************************************************** A client can send a SOAP request with multiRef elements, such as: <SOAP-ENV:Body> <ns1:getWeatherRequest SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/ encoding/" xmlns:ns1="weather"> <getWeather href="#id0"/> </ns1:getWeatherRequest> <multiRef id="id0" SOAP-ENC:root="0" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:Forecast" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope /:encodingStyle" xmlns:ns3="urn:ForecastService"> <date xsi:type="xsd:string">April 11, 2003</date> <zip xsi:type="xsd:string">95008</zip> <city xsi:type="xsd:string">Campbell</city> <state xsi:type="xsd:string">CA</state> <forecast xsi:type="xsd:string">20 percent chance of rain.</forecast> <low xsi:type="xsd:byte">0</low> <hi xsi:type="xsd:byte">0</hi> <precip xsi:type="xsd:byte">0</precip> </multiRef> </SOAP-ENV:Body> The Web Services Gateway will send on the following to the target service: <SOAP-ENV:Body> <ns1:getWeatherRequest SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/ encoding/" xmlns:ns1="weather"> <getWeather href="#id0"/> </ns1:getWeatherRequest> </SOAP-ENV:Body> A deserialization error will most likely occur in the target Web Service because now the getWeather element is incomplete. The target Web Service may instead see an empty getWeather element and thus the business logic may fail to find some expected values.Problem conclusion WSIF has been changed to support multiple input SOAP element objects which come from the Web Services Gateway. The Web Services Gateway will now supply WSIF with a SOAP element object for the body of the request and one SOAP element object for each multiRef element. WSIF will send all SOAP element objects given to it to the Web Services engine, which will put them into the SOAP request. The fix will be shipped in WebSphere Application Server 5.1.1 cumulative fix 4. Please refer to the Recommended Updates page for delivery dates: http://www-1.ibm.com/support/docview.wss?rs=180&context=SSEQTP &uid=swg27004980Temporary 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 #: PQ98512
IBM Group: Software Group
Modified date: Jan 4, 2005
(C) Copyright IBM Corporation 2000, 2008. All Rights Reserved.