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 2002/09/16 17:03:58 UTC
DO NOT REPLY [Bug 12685] New: -
RC1 - Setting "PROP_DOMULTIREFS" looses important type info
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=12685>.
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=12685
RC1 - Setting "PROP_DOMULTIREFS" looses important type info
Summary: RC1 - Setting "PROP_DOMULTIREFS" looses important type
info
Product: Axis
Version: beta-3
Platform: Other
OS/Version: Other
Status: NEW
Severity: Major
Priority: Other
Component: Serialization/Deserialization
AssignedTo: axis-dev@xml.apache.org
ReportedBy: jesper.soderlund@smarttrust.com
I have generated Java-classes for a WSDL file, the service is
called "DownloadService".
The interface to the download operation of the service takes an "ApiCommand[]"
and I then send in different concrete ApiCommand-subclasses.
Everything works fine under normal operations (except other alread reported
bugs) and the type info for the ApiCommand-subclasses is included. See Sample A
for an "on-the-wire" where the type info for the DownloadCommandType is
included. Setting the PROP_DOMULTIREFS = false, see Sample C before calling the
service removes this information which means that the server cannot deserialize
the XML-data and to an exception, see Sample B.
Sample A
========
<ns1:download
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://www.smarttrust.com/jam/download/">
<commands xsi:type="soapenc:Array" soapenc:arrayType="ns2:ApiCommand[1]"
xmlns:ns2="http://www.smarttrust.com/jam/download/schema/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<item href="#id1"/>
</commands>
</ns1:download>
<multiRef id="id1" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns3:DownloadCommandType"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns3="http://www.smarttrust.com/jam/download/schema/">
<Aid href="#id2"/>
<name xsi:type="xsd:string">Download</name>
</multiRef>
Sample B
========
<ns1:download
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://www.smarttrust.com/jam/download/">
<commands xsi:type="soapenc:Array" soapenc:arrayType="ns3:ApiCommand[1]"
xmlns:ns3="http://www.smarttrust.com/jam/download/schema/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<item>
<Aid xsi:type="ns3:AIDType">534d4152545452555354303030355f50</Aid>
<name xsi:type="xsd:string">Download</name>
</item>
</commands>
</ns1:download>
Sample C
=========
Client code snippet:
...
DownloadServiceLocator locator = new DownloadServiceLocator();
locator.getEngine().setOption(AxisEngine.PROP_DOMULTIREFS, new Boolean
(false));
...