Hi Greyson ,
              I am sure your approach would work well if the client were written in 
Java using the
Apache toolkit too .  have you had success generating code (especially holders for the 
types) with more
than 1 Java WSDL compiler e.g. idoox , glue , axis etc ?  How about compilers from 
non-Java languages
?
My problem is trying to get the lowest common denominator WSDL descriptor that will 
work well with
atleast 3-4 compilers (java and non java) . I am not sure whether that is a realistic 
goal given the
different levels of wsdl support that compilers have today .

My current experience with passing a wsdl file thru different compilers is that each 
one behaves quite
differently wrt handling of types .  Taking this specific examples ,
I dont see how a non java wsdl compiler would generate the correct data structure for
xsd:[Ljava.util.Hashtable$Entry] .

comments/ suggestions welcome .

Thanks -
Raghavan




[EMAIL PROTECTED] wrote:

> This is what is working for me...
>
> <types>
>   <xsd:schema
>       targetNamespace="http://www.lockerservice.com/Locker";
>         xmlns="http://www.w3.org/1999/XMLSchema/";>
>     <xsd:complexType
>           name="Hashtable">
>       <xsd:element name="table"
>           type="xsd:[Ljava.util.Hashtable$Entry;"/>
>       <xsd:element
>           name="count" type="xsd:int"/>
>       <xsd:element
>           name="threshold" type="xsd:int"/>
>       <xsd:element
>           name="loadFactor" type="xsd:float"/>
>       <xsd:element
>           name="modCount" type="xsd:int"/>
>       <xsd:element
>           name="serialVersionUID" type="xsd:long"/>
>       <xsd:element
>           name="keySet" type="xsd:java.util.Set"/>
>       <xsd:element
>           name="entrySet" type="xsd:java.util.Set"/>
>       <xsd:element
>           name="values"
>           type="xsd:java.util.Collection"/>
>       <xsd:element
>           name="KEYS" type="xsd:int"/>
>       <xsd:element name="VALUES"
>           type="xsd:int"/>
>       <xsd:element name="ENTRIES"
>           type="xsd:int"/>
>       <xsd:element name="emptyEnumerator"
>           type="xsd:java.util.Hashtable$EmptyEnumerator"/>
>       <xsd:element
>           name="emptyIterator"
>     type="xsd:java.util.Hashtable$EmptyIterator"/>
>     </xsd:complexType>
>   </xsd:schema>
> </types>
>
> In the declaration of the method:
> type="tns:Hashtable"
>
> In the deployment descriptor:
>
>   <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:x="" qname="x:meth5_outType" javaType="java.util.Map"
> java2XMLClassName="org.apache.soap.encoding.soapenc.HashtableSerializer"
> xml2JavaClassName="org.apache.soap.encoding.soapenc.HashtableSerializer" />
>
>
>                     "Raghavan
>                     Srinivasan"          To:     [EMAIL PROTECTED], 
>[EMAIL PROTECTED]
>                     <raghavan@ipl        cc:
>                     anet.com>            Subject:     WSDL , Apache Soap question
>
>                     11-01-02
>                     07:04 PM
>                     Please
>                     respond to
>                     soap-user
>
>
>
> I have a Apache Web service one of whose methods  takes in
> java.util.Hashtable as a parameter . I understand that the Apache
> Toolkit supports Hashtable encoding . But i want to write a WSDL
> interface to this service that toolkits from other languages could use
> to generate stubs .
>
> I could'nt find the right schema element to represent a structure
> similar to Map / Hashtable .
>
> I used the Idoox java2wsdl utility to see what the utility generates and
> it came up with ns0:Hashtable
> where ns0 = http://xml.apache.org/xml-soap .
>
> This is obviously Apache specific and I dont know how compilers from
> other languages will interpret it .
>
>  Has anyone else faced a similar issue ?
>
> Thanks -
> Raghavan
>
> --
>
> NOTICE:  The information contained in this electronic mail transmission is
> intended by Convergys Corporation for the use of the named individual or
> entity to which it is directed and may contain information that is
> privileged or otherwise confidential.  If you have received this electronic
> mail transmission in error, please delete it from your system without
> copying or forwarding it, and notify the sender of the error by reply email
> or by telephone (collect), so that the sender's address records can be
> corrected.

Reply via email to