Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

useOriginalwsdl=true is not working in axis2

I have followed contract first approach. So I first wrote the wsdl file and then generated the server side code. But when I hit the url for my web service in the browser then I see the auto generated wsdl file; not the one I had kept inside META-INF folder. I have also set useOriginalwsdl=true in my services.xml file. When I try to view the wsdl in browser, it fires error Unable to generate WSDL 1.1 for this service in description section and If you wish Axis2 to automatically generate the WSDL 1.1, then please set useOriginalwsdl as false in your services.xml in the reason section of error tag.

Please help me.

like image 409
Surya Avatar asked Oct 23 '25 21:10

Surya


2 Answers

useOriginalwsdl=true will work if you have followed the following steps:

  1. put the custom wsdl file inside the META-INF folder.
  2. the service name should be the same in both the custom wsdl as well as in the services.xml
  3. Name the custome wsdl as service.wsdl or (Your ServiceName).wsdl.
  4. Set useOriginalwsdl=true in services.xml file

Note: If useOriginalwsdl=true, Axis2 engine first tries to use any wsdl file named service.wsdl. If not found, then it tries to find named (your service name).wsdl If not succeeds, then it shows error when u try to access the web service.

like image 161
Surya Avatar answered Oct 25 '25 19:10

Surya


Do you have external schema references in your WSDL..? If so, those should be also added to META-INF directory... Please also attach your WSDL..

Since you are using contract first, better you validate your WSDL too.. there are wsdl validating tools available...

Thanks...

like image 37
Prabath Siriwardena Avatar answered Oct 25 '25 18:10

Prabath Siriwardena



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!