axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alick Buckley <Alick.Buck...@lansa.com.au>
Subject RE: How to use "long" for parameter type?
Date Wed, 15 Mar 2006 03:19:41 GMT

Hi Vartan,

I have had no problems with long parameters using RPC or Wrapped style.

I did a quick test using my wizard and the Axis 1.3 generated WSDL is ok.

See attached FamilyServer.wsdl

============================================================================
==

package com.acme.service.soap ;

public interface FamilyServerProvider
{
    public int register ( String in0, String in1, long in2, String in3 ) ;
}

============================================================================
==

package com.acme.service.soap ;

public class FamilyServerProviderStub implements FamilyServerProvider
{
    /*
        Service implementation
    */

    public final int register ( String in0, String in1, long in2, String in3
)
    {
        return 0 ;
    }
}

============================================================================
==
Create WSDL from source started

java
-classpath
"C:\Studio_Beta\workspace\SOAP-GENERAL\solutions\FamilyServer\soap-compile"
"-Djava.ext.dirs=C:\Studio_Beta\lib\ext;"
org.apache.axis.wsdl.Java2WSDL
-l
http://www.acme.com/cgi-bin/jsmdirect?myservice
-o
C:\Studio_Beta\workspace\SOAP-GENERAL\solutions\FamilyServer\FamilyServerSer
vice.wsdl
-b
FamilyServerServiceBinding
-S
FamilyServerServiceService
-s
FamilyServerServicePort
-P
FamilyServerServicePortType
-y
RPC
-u
ENCODED
-T
1.2
-A
OPERATION
-i
com.acme.service.soap.FamilyServerProviderStub
com.acme.service.soap.FamilyServerProvider

Create WSDL from source completed

============================================================================
==



-----Original Message-----
From: Rhimbo [mailto:rhimbo@yahoo.com]
Sent: Wednesday, 15 March 2006 1:56 PM
To: Axis users
Subject: How to use "long" for parameter type?


Hi folks,

Tomcat 5.5.15, AXIS 1.3, Linux fedora core 4....

Java2WSDL does not generate the correct method signature in the 
*SoapBindingImpl.java file.  Here is the scenario.

I have the following method declaration in my Family.java file, which
defines one interface.

public interface Family 
{
  public int register(String email, 
		      String password, 
		      long birthDate, 
		      String affiliateName)
      throws RemoteException;

...
}

I execute:

$ 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:disney.dis.family \
  disney.dis.family.Family 

to produce the family.wsdl file, which I've attached to this email.


I execute:

$ 
$ java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s \
  -p disney.dis.family family.wsdl

to produce the auto-generated files.  The file that contains the
SOAP binding implementation has the following signature
corresponding to the interface method declaration above:

    public int register(java.lang.String in0, 
                        java.lang.String in1, 
                         java.lang.String in2) 
             throws java.rmi.RemoteException 
    {
        return -3;
    }

It should be like this:

    public int register(java.lang.String in0, 
                        java.lang.String in1, 
                        long in2,
                        java.lang.String in3) 
             throws java.rmi.RemoteException 
    {
        return -3;
    }


Can anyone tell me what's wrong?  How can I specify "long" 
type parameters?

Many thanks,

Vartan

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


Mime
View raw message