Title: RE: How to use "long" for parameter type?

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\FamilyServerService.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:[EMAIL PROTECTED]]
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

 

Attachment: FamilyServerService.wsdl
Description: Binary data

Attachment: Wizard.gif
Description: GIF image

Reply via email to