gpt4 book ai didi

java - 如何将 CXF Web 服务使用的地址更改为与 wsdl 文件中指定的地址不同的地址?

转载 作者:搜寻专家 更新时间:2023-11-01 04:02:32 25 4
gpt4 key购买 nike

当我根据配置获取 wsdl 时,我已经开始工作了,但我只想告诉它使用特定地址进行服务调用并使用 wsdl 的本地副本。

MyWebService serviceDefinition = new MyWebService(new URL(wsdlLocation));
service = serviceDefinition.getMyWebServicePort();

有人知道这方面的最佳做法吗?

有效的 xml 请求。

<soap:Body>
<ns2:getData xmlns:ns2="http://services.test.com/">
<arg0>Test Name</arg0>
<arg1>55555555</arg1>
</ns2:getData>
</soap:Body>

代理 xml 请求无效。

<soap:Body>
<ns1:getData xmlns:ns1="http://ws.test.com/">
<ns3:arg0 xmlns:ns2="http://services.test.com/" xmlns:ns3="http://ws.test.com/">Test Name</ns3:arg0>
<ns3:arg1 xmlns:ns2="http://services.test.com/" xmlns:ns3="http://ws.test.com/">55555555</ns3:arg1>
</ns1:getData>
</soap:Body>

最佳答案

你能用ClientProxyFactoryBean吗? ?如果您有已编译的 stub ,您甚至不需要 WSDL。例如:

ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setServiceClass(HelloWorld.class);
factory.setAddress("http://localhost:9000/Hello");
HelloWorld client = (HelloWorld) factory.create();

关于java - 如何将 CXF Web 服务使用的地址更改为与 wsdl 文件中指定的地址不同的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1421873/

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