0

给定一个公共 SOAP Web 服务并且没有 WSDL,我需要构建一个可以与该服务通信的 .NET 客户端。

我是一个 .NET 开发人员,正在寻找一种简单的方法来在给定这个 url 的情况下生成 WSDL 文件?我更喜欢直接从我的 Windows 开发机器上使用一些工具来执行此操作,但我发现的唯一东西是 Apache CXF 或 Axis2 中的 javatowsdl 工具。是否有任何工具(商业或其他)可以做到这一点?我真的希望不要手动编写自己的 WSDL。

如果我必须走 javatowsdl 的路线,是否可以使用此工具而无需设置服务器来运行 apache/tomcat 等?有人知道实际完成这项工作所需的步骤吗?

更新: 此 KB 描述了通过 wsdl.exe 或 VS 生成代理,这两者我都做过。这个 KB 的有趣部分是顶部的部分,它首先提到使用 IBM 的 WSTK 来获取 WSDL。WSTK 不再存在,我正在寻找替代品。 http://support.microsoft.com/kb/307324 希望这有助于澄清一些事情。

4

5 回答 5

2

我没有看到提到这一点,但是您是否尝试过将“?wsdl”附加到soap url 的末尾并在浏览器中尝试?

例如,服务的 url 是http://www.someserver.com/service/NewService。然后你可以在任何网络浏览器中尝试这个,看看它是否有效

http://www.someserver.com/service/NewService?wsdl

如果浏览器拉起 wsdl,那么您也可以使用相同的 url 访问 wsdl.exe,它会为您生成 .NET 客户端存根。

于 2010-08-09T03:11:22.313 回答
0

谁经过大量阅读和研究,我发现了这个小宝石:http ://wscfblue.codeplex.com/ 它采用XSD并生成了一个WSDL文件,如果您选择还可以生成代理代码。我还没有端到端地完成所有工作,但我想我会为其他任何可能有类似问题的人继续发帖。如果我记得,我会在完成后发回任何关于此的注释。

于 2010-08-12T00:10:58.340 回答
0

这里解释了 Java2WSDL 的用法。它需要描述 Web 服务的Java 类或接口才能进行翻译(即,您不能只给它一个 SOAP 请求/响应并希望它能够从那里解决)。WSDL2Java可以在给定 WSDL 时生成Java客户端绑定(如果您想编写 .NET Web 服务客户端,这可能没用)。所有这些都可以在不运行 Java 应用程序服务器的情况下完成(因为您实际上并没有托管 Web 服务,您只是描述了它的输入和输出)。

因此,如果您想沿着这条路走下去,您必须做的是用 Java 开发服务器端接口,并使用 Java2WSDL 生成 WSDL。从那里,您可以根据您链接的知识库文章将 WSDL 提供给 Visual Studio。

我现在可以向你保证,它会让接口正确无误。无论您是否可以正确地获取输入和输出,仍然存在 Document 与 RPC 的问题以及从查看 SOAP 请求/响应时可能不明显的各种其他参数。

于 2010-08-09T03:04:04.540 回答
0

假设您使用的是 Visual Studio,请右键单击您的项目并单击Add Web Reference. 然后输入端点 URL,你应该从这里开始。更多细节在这里

于 2010-08-07T05:00:26.137 回答
0

不确定您真正想要从...创建 WSDL 吗?您说这是关于没有 WSDL 的公共 SOAP 服务——这意味着该服务本身并不提供 WSDL,对吗?

那么您对这项服务究竟了解多少呢?因为,如果你只知道调用服务的 URL 而没有任何额外的规范(同样,如果服务没有发布它本身就是 WSDL,就像在带有附加 ?wsdl 的同一个 URL 上),我猜你不知道t真的有任何基础来创造一些东西。

所以我想这里需要更多信息......

于 2010-08-07T13:10:41.700 回答