gpt4 book ai didi

java - 来自 wsdl 的动态 Web 服务客户端

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:20 25 4
gpt4 key购买 nike

我的一个系统需要调用基于 SOAP 的 Web 服务。截至目前,对于每个新的 Web 服务,我都会从提供的 WSDL 文件生成 Java stub ,并使用新的 Web 服务使用者代码重新部署 Web 应用程序。是否有一个好的方法来动态创建一个可以调用所提供的 WSDL 文件中的方法的 Web 服务客户端?我所期待的是

  • 将 WSDL 文件放在 Web 应用程序可以访问的位置
  • 使用具有 wsdl 文件名的关键字以及 Webservice 方法所需的其他参数来调用 Servlet。

Apache CXF 可以提供帮助吗?我在一篇文章中读到,在运行时生成 wsdl2java 并加载类,随着时间的推移,可能会耗尽 pemgen 内存空间。

最佳答案

您应该看这里:http://cxf.apache.org/docs/dynamic-clients.html正是如此。

这里是一个例子:

ClientImpl client = (ClientImpl)doc.getClientFromWsdl("http://myurl:8080/DataCentersWS?wsdl");
String operationName = "getVirtualisationManagerUuid";
BindingOperationInfo op = doc.getOperation(client, operationName);
List<MessagePartInfo> messagesParts = op.getInput().getMessageParts();
Object[] params = new Object[messagesParts.size()];
/* feed yours params here (this feeding was heavy in my code */
Object[] res = client.invoke(op, params);

cxf 的源代码分发中还有许多其他示例。

关于java - 来自 wsdl 的动态 Web 服务客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26354639/

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