【问题标题】:WSDL without endpoint URL没有端点 URL 的 WSDL
【发布时间】:2015-10-08 08:41:05
【问题描述】:

可以在没有定义端点的情况下存在 WSDL 吗?我从客户端收到了一个没有定义端点的 WSDL。

只是想知道如果它存在于其他地方或其他相对位置等有什么可能性,因为我没有 SOAP 服务方面的专业知识。

为了进一步说明,WSDL 既没有soap:address 也没有service 标记。

【问题讨论】:

    标签: java web-services soap wsdl


    【解决方案1】:

    确实可以。可以为多个端点定义相同的 WSDL。您需要询问客户使用哪个地址。

    【讨论】:

    • 谢谢。我会问。但是,既然您说“可以为多个端点定义相同的 WSDL”,但我看不到端点。如何以及在哪里定义这些端点?如果您可以指导我获取一些资源,我可以从 wsdl 中为该 wsdl 了解/定义多个端点。
    • @Garry 我的意思是地址而不是端点。 WSDL 定义了路径和其他类似的东西,但不需要关心最终产品实际部署到哪里。
    • 所以你的意思是说,无论在哪里部署 WSDL,WSDL 的位置都会成为它的端点?
    • @Garry 不,WSDL 和端点(实际上)彼此无关。 WSDL 定义了服务的格式,它不需要关心你在哪里部署它。 WSDL 定义了服务,它可以定义端点,但它当然不需要。
    • 我可以在不给您端点的情况下向您发送 WSDL。你不能用它做任何事情,因为你不知道服务的位置在哪里。真的没那么难。
    【解决方案2】:

    您可以在运行时动态绑定端点,即使它没有在 WSDL 中定义。以下是javax.xml.ws.BindingProvider 的示例。您可以在数据库或配置文件中配置端点,因此可以根据环境进行更改。

    ((BindingProvider)port).getRequestContext().put(
                    BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endPoint);
    

    【讨论】:

      猜你喜欢
      • 2012-12-02
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多