3
votes

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.

2

2 Answers

5
votes

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.

2
votes

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...