处理WSDL以仅包括特定功能

时间:2013-08-25 08:19:14

标签: java web-services xslt wsdl jax-ws

我有一个我正在使用的服务提供的WSDL文件。它包含大量函数,我只对它感兴趣。

如何“重构”WSDL文件并生成一个仅包含我感兴趣的函数的新文件?

我正在使用JDK的wsimport来处理WSDL文件,因此JAX-WS解决方案会很棒,但是如果您知道如何使用XSLT(通过将WSDL文件作为一个简单的XML文件处理),这也很好

1 个答案:

答案 0 :(得分:1)

为什么WSDL中的其他方法会给您带来麻烦?我的意思是,拥有它们没有任何害处,你只需调用你的方法并忽略其他方法:)话虽如此,总是有一个手动编辑WSDL的选项(遗憾的是,没有wsimport选项仅导入特定方法)。只需从WSDL中清除所有不必要的方法及其相关元素,然后从新的WSDL重新生成WS客户端。小心在应用程序本地存储和检索WSDL,无论更改的WSDL如何,Web服务调用都应该成功。如果你害怕手动擦除方法,那么Netbeans就有XML和WSDL插件。您可以在那里打开WSDL,您将在设计器中看到所有Web方法。只需单击要删除的所有方法(此处称为“操作”),它们将从文档中消失,而不必担心您搞砸了某些内容。一个例子如下:

enter image description here

实际上,当您从远程WSDL构建Web服务客户端,然后WS开发人员使用新方法更新原始WSDL时,存在类似但相反的情况。如果在本地存储WSDL,Web服务调用仍将成功;无论是否添加新方法。

另见: