gpt4 book ai didi

java - 来自 WSDL 的 JAX-WS 端口

转载 作者:行者123 更新时间:2023-12-02 07:10:00 25 4
gpt4 key购买 nike

我有一个 JAX-WS 导入的 WSDL 客户端。当我尝试连接到 Web 服务端点时,JAX-WS 客户端尝试加载 WSDL。为什么?

  • 我不想在我的项目中存储 WSDL,
  • 我不想再次从网络服务 URL 加载 WSDL?

问题:

  • 是否有机会绕过此行为?
  • 如何在运行时添加 Web 服务端点 URL?

添加具有相同 QName 和端口名称的端口失败,因为我无法添加相同的端口。添加不同的端口是可以的,但我无法从 Web 服务委托(delegate)获取它,因为 WSDL 不包含添加的端口定义。

JAX-WS 似乎是完全错误的方式:(

最佳答案

今天你很幸运。正如您提到的,有一种方法。

QName qname = new QName("http://thenamespace", "FooService");
FooService service = new FooService(null, qname); // null for ignore WSDL file
Foo port = service.getFooPort();
BindingProvider bindingProvider = (BindingProvider) port;
bindingProvider.getRequestContext()
.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"http://foo.com/soap/fooBean");

// Use the service
Object obj = port.doSomething(param);

关于java - 来自 WSDL 的 JAX-WS 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15645154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com