更改JAX-WS服务URL

在创建JAX-WS Web服务时是否有可能更改Webservice URL?

自动URL是(在Glassfish 3上): http://// ,但我需要的是: http:////axis/services/ (因为它是从轴到JAX-WS的端口)

有没有办法告诉JAX-WS在哪里发布WS?

使用sun-jaxws.xml是没有选择的,因为它禁用了@ EJB / @Inject DI。

您可以为JAX-WS实现类指定servlet映射。 默认情况下,不需要servlet映射,JAX-WS框架会为您生成它。 由于您要为Web服务服务提供自定义URL映射,因此可以使用自定义URL提供servlet映射。

样品:

  CalculatorService CalculatorService  org.apache.geronimo.samples.jws.CalculatorService    CalculatorService /axis/services/calculator  

请参阅https://geronimo.apache.org/GMOxDOC20/simple-web-service-with-jax-ws.html和http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp? topic =%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Ftwbs_customwebxml.html 。

我在相同的上下文中遇到了同样的问题。 一些在JAX-WS中传递的axis2 Web服务; 所以我必须保持相同的url映射(http:// [host]:[port] / [context] / services / [serviceName])。

首先,我尝试使用@WebServlet注释在WS的impl类上使用url模式。 它适用于JBoss AS 7.1和Weblogic Server 12,但WebSphere AS 8不喜欢。 这是因为HttpServlet类没有扩展,但是如果你通过web.xml做了同样的事情,它就可以了。

要在web.xml中添加一个Web服务:

  OMInjector fr.fmoisson.kijq.services.OMInjector 1   OMInjector /services/OMInjector