web-services - 在生成的客户端中是否有任何支持动态命名空间的 JAX-WS 实现?

标签 web-services namespaces jax-ws wsimport

我使用 JAXWS-RI wsimport.bat 从具有命名空间“http://a.mydomain”的 WSDL 生成了一个 JAX-WS 客户端(代理 API)。
我想对具有命名空间“http://b.mydomain ”的服务重用相同的生成代理,但目标命名空间“http://a.mydomain ”在生成的所有类中都被硬编码。

有没有人知道使用 JAXWS-RI 或任何其他 JAXWS 实现来解决这个问题的任何好方法?我想防止使用新的 WSDL/命名空间重新生成代理类。

感谢您的任何回答。

最佳答案

步骤包括:

  • 使用 Service.create 方法创建 Service 实例
    为此,您需要知道服务的 wsdl 位置、服务名称和 namespace URL。
    例如
    URL wsdlLocation = new URL("http://example.org/my.wsdl");
    QName serviceName = new QName("http://example.org/sample", "MyService");
    服务 s = Service.create(wsdlLocation, serviceName);
  • 使用 Service.getPort() 方法获取服务代理(用于连接的服务端口)。
    为此,您需要知道端点实现类名称。
    例如MyService 端口 = s.getPort(MyService.class);

  • 您现在可以通过代理调用方法。
    根据您的要求更改 namespace URL。

    关于web-services - 在生成的客户端中是否有任何支持动态命名空间的 JAX-WS 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501031/

    相关文章:

    php在同一个命名空间中找不到类

    sql - 无法将 'WITH XMLNAMESPACES...FOR XML PATH' 的输出设置为变量?

    C++ 宏将处理代码置于命名空间之外

    java - 忽略 JAX-WS 客户端中缺少的方法

    python - 休息框架: different serializer for input and output data on post/put operations

    web-services - 为 java ejb Webservice 启用 https

    java - IncationTargetException - 使用 httpClient 从 java Soap Web 服务调用 Rest 服务

    java - JAX-WS - 作为 POJO 的服务实现

    web-services - 如何简单地转换jaxws对象

    c# - 软件设计与网络服务设计