0

我尝试在 Glassfish 上部署 Web 服务。一切正常。Web 服务使用之前定义的 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

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

4

1 回答 1

0

正如您所发现的,默认情况下,JAX-WS 将使用上下文根和服务名称作为发布的端点位置。您的项目使用上下文根“foo”进行部署,并且“Datan”来自 @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 )

希望这会有所帮助。

于 2012-08-09T06:55:30.173 回答