使用其他URL部署Web Service

时间:2012-08-07 15:12:12

标签: java wsdl glassfish jax-ws

我尝试在Glassfish上部署Web服务。一切正常。 Web服务使用befor定义的WSDL文件,我使用Annotation执行此操作:

@WebService(serviceName = "Daten", portName = "DatenSOAP", wsdlLocation = "Daten.wsdl",
    targetNamespace = "http://foo.blub.com/ws/test/Service",
    endpointInterface = "com.blub.foo.ws.test.service.Daten")

并在我的WSDL文件中定义

<soap:address location="http://localhost:8080/servlet/test/Daten" />

但是当我部署它时,WSDL部署在http://localhost:8080/foo/Daten

在哪里可以定义位置有什么问题?

1 个答案:

答案 0 :(得分:0)

正如您所发现的,默认情况下,JAX-WS将使用上下文根和服务名称作为已发布的端点位置。您的项目使用上下文根'foo'进行部署,'Daten'来自@WebService注释的serviceName属性。 这实际上非常方便,我建议你坚持使用默认值,除非你有明确的要求。

如果确实有这样的要求,请在此处描述使用web.xml servlet映射自定义端点的过程(http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.wsfep.multiplatform.doc%2Finfo%2Fae%2Fae%2Ftwbs_customwebxml.html

希望这有帮助。