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));
...