You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/01/15 22:14:21 UTC
DO NOT REPLY [Bug 16141] New: -
Wrong return ParameterDesc returned during deserialization when using a split WSDL description
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16141>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16141
Wrong return ParameterDesc returned during deserialization when using a split WSDL description
Summary: Wrong return ParameterDesc returned during
deserialization when using a split WSDL description
Product: Axis
Version: 1.1beta
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: Other
Component: Serialization/Deserialization
AssignedTo: axis-dev@xml.apache.org
ReportedBy: jasnell@us.ibm.com
Ok, this one is a bit strange. I'm in the process of tracking it down, but it
hasn't been easy. I'm using the attached WSDL documents to initialize a
Service and Call object. When using the single WSDL document
(NasdaqQuotes.wsdl) everything works fine. When using the split WSDL documents
(NasdaqQuotes_Impl.wsdl and NasdaqQuotes_Interface.wsdl) I'm getting a "Bad
Types" exception while deserializing the response message.
I traced the exception to the org.apache.axis.message.RPCHandler class and
through a bit of debugging found the basic problem but I'm not yet sure what's
causing the problem.
On line 215 in RPCHandler, the code attempts to get the method return
ParameterDesc using a QName. Now, the QName that is passed in is exactly what
is expected given the WSDL portType and message descriptions
("getPriceReturn"), but the ParameterDesc that is returned is the ParameterDesc
for the input parameter ("symbol") ... (see the WSDL to understand where I'm
getting these names). So basically, the OperationDesc is returning the wrong
ParameterDesc for the operations return value... but it ONLY happens when using
a split WSDL description. Testing with a number of other split WSDL
descriptions and I get the exact same problem.
<snip from="RPCHandler.java">
[215] if (isResponse) {
[216] paramDesc = operation.getOutputParamByQName(qname);
[217] } else {
[218] paramDesc = operation.getInputParamByQName(qname);
[219] }
</snip>
Line [216] is the one where the problem occurs.