how can I have my service method parameter names exposed in the WSDL in axis2?
Currently, the wsdl is created as:
Why are they specified as "param0" and "param1", this is not very descriptive to the client.
If so tell me how are you generating the WSDL.
When you use the ant task provided by axis it generates the WSDL with proper names.
Following is an example of the WSDL that I generated for a complex type using the ant task
Arafat, this wsdl is generated by accessing localhost:8080.services.
Shariq, the wsdl generated is not useless because even if you say param0, param1 are just names and can be anything.
you need to define the finer details in your tmodel which the client looks up at and derives more sense about the webservice
Anyways here is the ant task that I used and the one that gets me the proper parameter names instead of param0, param1.
Hope it helps
If your service is implementing some interface then the parameters are named as param0 and param1 of functions from interface. It has nothing to do with debug option.
Is there any work around ??
you should have the messages defined in your wsdl . for example
<part name="parameters" element="enr:My_Request"/>
where My_Request is your parameter which should defined in the <types>. Now this defined message will be plugged with the port. So My_Request becomes the input parameter for the method "testOperation"
[ June 30, 2007: Message edited by: Raghav Mathur ]
I'm simply designating a POJO as a service by configuring services.xml within the META-INF of the axis war. The wsdl is being generated dynamically by Axis when accessing http://localhost/warname/MyServiceName?wsdl
My question is - obviously Axis uses some sort of reflection to determine what parameters, and what types are passed into the method. Why is not picking up the parameter names, and instead renaming them to param0 and param1?
You can save the wsdl that you get as http://localhost/warname/MyServiceName?wsdl in services/MyServiceName/META-INF/service.wsdl and change param0, param1... for your own parameter names.
[ June 04, 2008: Message edited by: Milan Mogin ]
You have to compile your classes with debug option. Please read following article for complete example/solution.
becouse google still finds this frequently, and because some answers are right, yet another (a little better) solution:
mark your parameters with @WebParam(name = "theNameYouNeed"). For example: