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