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
FamilyServerService.wsdl
Description: Binary data
Wizard.gif
Description: GIF image
