Oh sorry, I think I misunderstood. This method of using the WSDD to get the
right param names works when you are actually deploying the service using
Axis. If you are directly using the java2WSDL tool, then I guess there
aren't many options. I think java2WSDL has a "i" switch through which you
can specify the implementation class for the interface. But that kinda
defeats the purpose of having an interface. 

Thanks! 

-- Niranjan. 


-----Original Message-----
From: Chris [mailto:[EMAIL PROTECTED]
Sent: Friday, June 13, 2003 4:18 PM
To: [EMAIL PROTECTED]
Subject: RE: Preserving param names in WSDL


Thank you Niranjan. I'm a little confused . . . I don't see where in either
WSDL2Java or in Java2WSDL I make any reference to my wsdd, so I don't know
how my wsdd would have any influence in generating code. Am I missing
something simple?

Thanks,
Chris

-----Original Message-----
From: Ekbote, Niranjan [mailto:[EMAIL PROTECTED]
Sent: Friday, June 13, 2003 12:58 PM
To: '[EMAIL PROTECTED]'
Subject: RE: Preserving param names in WSDL


Interfaces and abstract class won't get you that info even when compiled
with the debug option. However it would help if you describe the methods in
the WSDD. Try this. Suppose you have a method
boolean login(String username, String password) in your interface, then in
the WSDD, put this in.

<service name="LoginService" provider="java:RPC">
  <operation returnQName="success" returnType="xsd:boolean" name="login"
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
   <parameter name="username" type="xsd:string"/>
   <parameter name="password" type="xsd:string"/>
  </operation>
<parameter name="allowedMethods" value="login"/>
<parameter name="className" value="myservice.LoginInterface"/>
</service>

Now the WSDL will contain the parameter names "username" and "password"
instead of in0, in1 etc.... We use it for almost all our webmethods
(including the ones returning complex datatypes).

Hope this helps. It took us a long time to figure this one out.

Thanks!

-- Niranjan.

Reply via email to