Java 更改JAX-WS服务URL
在创建JAX-WS Web服务时,是否有可能更改Web服务URL 自动URL是(在Glassfish 3上):Java 更改JAX-WS服务URL,java,web-services,glassfish,jax-ws,Java,Web Services,Glassfish,Jax Ws,在创建JAX-WS Web服务时,是否有可能更改Web服务URL 自动URL是(在Glassfish 3上):http:////,但我需要的是:http:////axis/services/(因为它是从axis到JAX-WS的端口) 有没有办法告诉JAX-WS在哪里发布WS? 使用sun-jaxws.xml不是选项,因为它禁用了@EJB/@injectdi。您可以为JAX-WS实现类指定servlet映射。默认情况下,不需要servlet映射,JAX-WS框架会为您生成它。由于您希望为您的web
http:////
,但我需要的是:http:////axis/services/
(因为它是从axis到JAX-WS的端口)
有没有办法告诉JAX-WS在哪里发布WS?
使用sun-jaxws.xml不是选项,因为它禁用了@EJB/@injectdi。您可以为JAX-WS实现类指定servlet映射。默认情况下,不需要servlet映射,JAX-WS框架会为您生成它。由于您希望为您的web服务提供自定义URL映射,因此可以使用自定义URL提供servlet映射 样本:
<servlet>
<display-name>CalculatorService</display-name>
<servlet-name>CalculatorService</servlet-name>
<servlet-class>
org.apache.geronimo.samples.jws.CalculatorService
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CalculatorService</servlet-name>
<url-pattern>/axis/services/calculator</url-pattern>
</servlet-mapping>
计算器服务
计算器服务
org.apache.geronimo.samples.jws.CalculatorService
计算器服务
/安讯士/服务/计算器
请参阅和。我在相同的上下文中遇到了相同的问题。要在JAX-WS中传递的一些axis2 web服务;所以我必须保持相同的url映射(http://[host]:[port]/[context]/services/[serviceName]) 首先,我尝试在WS的impl类上使用带有url模式的@WebServlet注释。它可以在JBossAS7.1和WebLogicServer12上运行,但WebSphereAS8不喜欢。这是因为HttpServlet类没有扩展,但是如果您通过web.xml做了同样的事情,它就会工作 对于要添加到web.xml中的一个web服务:
<servlet>
<servlet-name>OMInjector</servlet-name>
<servlet-class>fr.fmoisson.kijq.services.OMInjector</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>OMInjector</servlet-name>
<url-pattern>/services/OMInjector</url-pattern>
</servlet-mapping>
喷射器
fr.fmoisson.kijq.services.OMInjector
1.
喷射器
/服务/输入
在JAX-WS中没有@Path
,@Path
是Restful服务的注释。但我试过了,但没用,我已经试过了。但我得到的只是一个异常:org.glassfish.deployment.admin.DeployCommand在部署应用程序[webservice]时执行严重异常:这里没有名为MyWebservice的web组件。警告:java.lang.RuntimeException发生错误:此处没有名为MyWebservice的web组件。在com.sun.enterprise.deployment.node.web.WebCommonNode.endElement(WebCommonNode.java:228)在com.sun.enterprise.deployment.node.SaxParserHandler.endElement(SaxParserHandler.java:481)在…这可能会有所帮助。这与您的答案完全不同。。。但正如我在问题中所写的:我不能使用sun-jaxws.xml,因为它破坏了web服务的EJB/CDI功能。仅供参考:我已经问过谷歌了……谢谢你的建议,但是Glassfish忽略了@WebServlet
注释,当我在web.xml中配置它时,出现了以下异常:org.apache.catalina.LifecycleException:java.lang.ClassCastException:packagename.IoWebService无法转换为javax.servlet.servlet