我尝试在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
在哪里可以定义位置有什么问题?
答案 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)
希望这有帮助。