The soap spec says that the element names used to identify each array item are irrelevant, so the change you are after is purely cosmetic.  Count yourself lucky that you don't have real interoperability issues to worry about!
----- Original Message -----
Sent: Friday, November 08, 2002 12:28 AM
Subject: Array Serialization Question...

We are implementing some of our newer services using AXIS 1.0 but are trying to keep some similarity to existing services we have.  One area I have run into is array serialization.  The object that is being serialized in the array is declared as <item> In our older calls the array element matches it's type or name.  Below is the AXIS generated result:
 
 <ns1:GetPkgFilesResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:schemas-wamnet-com:InfoCenter">
   <FileList xsi:type="soapenc:Array" soapenc:arrayType="ns1:FileInfo[2]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <item>
     <UserFileName xsi:type="xsd:string">170101-174.jtk</UserFileName>
     <Size xsi:type="xsd:long">5692</Size>
    </item>
    <item>
     <UserFileName xsi:type="xsd:string">xml10.pdf</UserFileName>
     <Size xsi:type="xsd:long">176689</Size>
    </item>
   </FileList>
  </ns1:GetPkgFilesResponse>
 
For example <item> would be replaced with <FileInfo>.  I know that with the soapenc tells the type of the item in the array, but we want consistency with he older APIs we have.  I have been able to change the ArraySerializer to make it work the way I want with a simple 1 line change.  Below is the result after I changed the Serialize:
 
 <ns1:GetPkgFilesResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:schemas-wamnet-com:InfoCenter">
   <FileList xsi:type="soapenc:Array" soapenc:arrayType="ns1:FileInfo[2]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <FileInfo>
     <UserFileName xsi:type="xsd:string">170101-174.jtk</UserFileName>
     <Size xsi:type="xsd:long">5692</Size>
    </FileInfo>
    <FileInfo>
     <UserFileName xsi:type="xsd:string">xml10.pdf</UserFileName>
     <Size xsi:type="xsd:long">176689</Size>
    </FileInfo>
   </FileList>
  </ns1:GetPkgFilesResponse>
 
Is there another way to do this or is this something that should be included as an option in axis?
 

----------------------------
Bill Grubbs
Consulting Software Engineer
Wam!Net
[EMAIL PROTECTED]
(248) 375-5896

 

Reply via email to