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 04:40:53 GMT

Vartan,

You could look for all axis.jar files ( and other axis jar files -
wsdl4j-15.1.jar, etc.. )

org.apache.axis.wsdl.Java2WSDL class is in axis.jar

The classes are dated 5/10/2005 5:23 PM

Also the generated WSDL has the build date.

<!-- 
WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)

  --> 

-----Original Message-----
From: Rhimbo [mailto:rhimbo@yahoo.com]
Sent: Wednesday, 15 March 2006 3:12 PM
To: axis-user@ws.apache.org
Subject: RE: How to use "long" for parameter type?


Alick,

Thanks much.  It still fails for me.  Very strange.  

I deleted all of my files except my original interface definition, 
Family.java and my FamilyImpl.java, which is the implementation code. 

I'm wondering if I have some incompatible libraries in my 
Tomcat/AXIS installation for two reasons:

1. You get it to work; I can't.
2. Trying the -y wrapped or --style wrapped makes Java2WSDL die
   a dramatic death.

Is there any way to figure out which version of the Java2WSDL
class file I have (something like a "-version" option)?  

Vartan



--- Alick Buckley <Alick.Buckley@lansa.com.au> wrote:

> 
> 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 
> 
> 


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

Mime
View raw message