【问题标题】:Deploy Web Service with a different URL使用不同的 URL 部署 Web 服务
【发布时间】:2012-08-07 15:12:12
【问题描述】:

我尝试在 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

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

【问题讨论】:

    标签: java wsdl glassfish jax-ws


    【解决方案1】:

    正如您所发现的,默认情况下,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)

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-09
      • 1970-01-01
      • 2011-06-30
      • 2017-04-23
      • 2012-10-24
      • 1970-01-01
      相关资源
      最近更新 更多