Hi all,

When I run Java2WSDL the WSDL output shows that a parameter of type
java.math.BigInteger is mapped to "long".  A subsequent compile
generates compilation errors.

I would like to map BigInteger to xsd:integer, which, I believe, is
the arbitrary precision integer type for web services.  My colleaugue 
is trying to call this from Python with an "integer".  Apparently 
there is no equivalent to Java's "long" in Python.  

Is this a bug in Java2WSDL or is there something I don't understand?
Here is scenario:

$ java org.apache.axis.wsdl.Java2WSDL -o family.wsdl \
   -l"http://localhost:8080/axis/services/family-accounts"; \
   -n urn:family-accounts \
   -p"family-accounts" urn:dis.family \
   dis.family.Family


Code snippet of "family.wsdl" follows...


public interface Family extends Remote
{
  ...
    public int register(String email, 
                      String password, 
                      BigInteger birthDate, 
                      String affiliateName)
      throws RemoteException;
  ...

}

public class FamilyAccountsSoapBindingImpl implements Family
{
  ...
  public int register(java.lang.String in0, 
                      java.lang.String in1, 
                      BigInteger in2, 
                      java.lang.String in3)
    throws java.rmi.RemoteException 
  {
    return familyImpl.register(in0, in1, in2, in3);
  }
  ...
}


Here is the excerpt from the WSDL generated:


   <wsdl:message name="registerRequest">

      <wsdl:part name="in0" type="soapenc:string"/>

      <wsdl:part name="in1" type="soapenc:string"/>

      <wsdl:part name="in2" type="xsd:long"/>

      <wsdl:part name="in3" type="soapenc:string"/>

   </wsdl:message>


I had to manually edit the WSDL and change "xsd:long" to 
"xsd:integer" and then everything worked fine.

Many thanks.

V






__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to