如何生成WSDL文件?

5
我创建了一个webservice [.asmx]文件。这个webservice将获得一个字符串作为输入并将值插入到数据库中。
现在,另一个应用程序将调用这个webservice,所以他们要求我提供wsdl文件来访问和使用这个webservice。
我知道,可以通过cmd创建wsdl以生成.cs、.vb或.dll文件,同时当我使用?wsdl与我的URL一起使用时也会生成一个xml文件。
但我不确定该提供哪一个?!!!
3个回答

3

你应该提供你的URL上的?wsdl,但这意味着它作为一个XML文件存在于你的项目中。虽然我不是.NET开发人员(我是Java),但我知道如果在你的URL末尾使用“?wsdl”可以提供它,则它必须存在于某个地方。你可以使用浏览器的“另存为”将文件保存为WSDL,暂时提供给你的消费者。


如果我提供使用 ?wsdl 生成的 XML 文件,他们如何使用它来实际消费 Web 服务? - Anuya
消费者必须导入它并使用解析器生成他们的对象集以使用它(在Java中是axis,jax-ws等...)。我敢打赌,.net用户将知道如何使用studio来完成它。我想谁要求您提供wsdl,他们会知道他们想用什么来生成它。 - lv2program

3
对于在IIS和ASP.NET中运行的.asmx服务,可以通过在服务URL后加上“?wsdl”来自动生成wsdl。如果消费者可以访问部署的Web服务,则“?wsdl”是向他们提供服务wsdl的最佳方式。
否则,您可以使用WSDL.exe生成wsdl,然后将其传递过去。
(关于您对Thomas的问题,要从wsdl中使用Web服务,您需要从wsdl生成客户端/存根,然后使用此客户端,您可以直接调用Web服务。
如果消费者是.NET应用程序,则只需将服务URL作为Web引用添加到项目中,这应该会为您生成客户端/存根。 对于Java,您可以使用一些工具,如wsdltojava来生成客户端。)

3
  • 进入IIS
  • 进入内容视图
  • 浏览.asmx文件
  • 在浏览器中在URL末尾添加"?wsdl"并按Enter键
  • 现在应该可以获得它的wsdl。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接