Axis 1.3 ArraySerializer not specifiying the xsi:type attribute
---------------------------------------------------------------

         Key: AXIS-2437
         URL: http://issues.apache.org/jira/browse/AXIS-2437
     Project: Apache Axis
        Type: Bug
  Components: Serialization/Deserialization  
    Versions: 1.3    
 Environment: Windows/Linux/HPUX,; Axis 1.3; java 1.4.2.11
    Reporter: Mike Morris


I have a web service operation that returns an array of complex types.  The 
operation returns the array (</getContainedEquipmentReturn> elements) but is 
missing the xsi:type attribute to explicitly identify the type of element 
contained in the array.  This only seems to cause a problem when the array type 
is an abstract type, as the axis-generated client cannot determine a concrete 
type to instantiate.  
 

Example 1 below is the way axis serializes the response message out of the box. 
 Example 2 is how the message can be formatted so that the client can 
deserialize the message.  
 

Is it possible either through configuration or creating a custom array 
serializer to have the xsi:type specified in the array element nodes?  
 

Thank you in advance,

Mike

  

Example 1 :
<?xml version="1.0" encoding="UTF-8"?>

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";

    xmlns:xsd="http://www.w3.org/2001/XMLSchema";

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

    <soapenv:Body>

        <getContainedEquipmentResponse

            xmlns="http://soap.service.soa.plt.telcordia.com";>

            <getContainedEquipmentReturn>

                <ns169:confirmed xmlns:ns169="http://dto.asi.granite.com";

                    xsi:type="xsd:boolean">false</ns169:confirmed>

                <ns170:confirmedCustom xmlns:ns170="http://dto.asi.granite.com";

                    xsi:type="xsd:boolean">false</ns170:confirmedCustom>

                .......... 

            </getContainedEquipmentReturn>

            <getContainedEquipmentReturn>

                <ns2:confirmed xmlns:ns2="http://dto.asi.granite.com";

                    xsi:type="xsd:boolean">false</ns2:confirmed>

                <ns3:confirmedCustom xmlns:ns3="http://dto.asi.granite.com";

                    xsi:type="xsd:boolean">false</ns3:confirmedCustom> 

                ..........

            </getContainedEquipmentReturn>

        </getContainedEquipmentResponse>

    </soapenv:Body>

</soapenv:Envelope>

 

 

Example 2 :
<?xml version="1.0" encoding="UTF-8"?>

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";

    xmlns:xsd="http://www.w3.org/2001/XMLSchema";

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

    <soapenv:Body>

        <getContainedEquipmentResponse

            xmlns="http://soap.service.soa.plt.telcordia.com";>

            <getContainedEquipmentReturn>

                <ns169:confirmed xmlns:ns169="http://dto.asi.granite.com";

                    xsi:type="xsd:boolean">false</ns169:confirmed>

                <ns170:confirmedCustom xmlns:ns170="http://dto.asi.granite.com";

                    xsi:type="xsd:boolean">false</ns170:confirmedCustom>

                .......... 

            </getContainedEquipmentReturn>

            <getContainedEquipmentReturn

                xmlns:ns1="http://webservice.dto.asi.granite.com";

                xsi:type="ns1:Container">

                <ns2:confirmed xmlns:ns2="http://dto.asi.granite.com";

                    xsi:type="xsd:boolean">false</ns2:confirmed>

                <ns3:confirmedCustom xmlns:ns3="http://dto.asi.granite.com";

                    xsi:type="xsd:boolean">false</ns3:confirmedCustom> 

                ..........

            </getContainedEquipmentReturn>

        </getContainedEquipmentResponse>

    </soapenv:Body>

</soapenv:Envelope>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to