问题
Been trying to get jax-ws web service working in websphere 8.5 but no success. I have tried Java bean & war packaging, stateless ejb & jar packaging but it just does not work.
I am trying to get it work with @webservice annotation.
I am not generating any extra artifacts. I am letting websphere figure out during the deployment. During deployment there is no error. After deployment, I try to run wsdl in the browser to see if web service is installed successfully but I get nothing.
Not sure if I am doing something wrong during the deployment or something else. Let me know if you want more info.
Regards,
回答1:
Actually websphere 8.5 is Java EE 6 compliant which means that the container should scan the classpath of the web application to find @webservice annotated classes and deploy them as running web services.
However depending on the servlet specification you are using (given in the web.xml file) the scanning will not take place : it should automatically take place starting from version 2.5 of the specification.
For older web applications the Websphere solution is to put a special attribute in the MANIFEST.MF of the related war : the key is UseWSFEP61ScanPolicy and the value true. see here for more details.
The servlet 3.0 specification also has a parameter controlling the scanning (it is usually used to speed up the cold start initialization of the application). Putting metadata-complete="true" in the root tag of your web.xml 3.0 deployment descriptor will prevent the scanning to happen (and false enables it)
回答2:
I was more or less running into the same issue you have, but on WAS 8.0.
Make sure that your web.xml is written for the Servlet 3.0 specification. I was using a web.xml for Servlet 2.4 and updating the version to 3.0 fixed the issue for me.
Hope this helps...
回答3:
Faced similar problem with WAS8.5 It was due to annotation scanning done by both WAS and application. After disabling WAS annotation scanning with "DisableIBMJAXWSEngine" application is able to start.
DisableIBMJAXWSEngine: true
回答4:
Make sure you java runtime and project facet are 1.6 if you are using WAS 8.0.
来源:https://stackoverflow.com/questions/15695907/jax-ws-web-service-does-not-work-in-websphere-8-5