我必须在我学校的项目中实施“服务绑定”。
我刚刚从w3schools.com学习了WSDL。我开始知道“WSDL”是。我知道WSDL,但我没有做任何事情。我想用它去实用。我不知道该怎么做。
从哪里开始?我知道还有其他事情需要学习,我不知道他们是什么。
我需要一些帮助来获得“实用”。它只是在我的脑海里,我不知道如何实现它。
答案 0 :(得分:28)
基于你的问题,我假设你有点困惑。 你应该和你的老师(或者给你这个任务的人)谈谈,并找到你的期望。
Web服务涉及大量知识,WSDL只是其中的一部分。
正如您可能从w3schools学到的,WSDL意味着Web服务描述语言。这是一种记录Web服务与世界接口的方法。
可以从端点地址访问Web服务,例如
http://some.server.com/context/bla/whatever
这告诉您在哪里可以找到Web服务,它不会告诉您如何调用它(即如何构建消息以进行正确的通信)。
WSDL为您提供以下信息:公开的操作,消息的组成方式,使用的绑定等等。
这样你就可以理解WSDL在整个画面中的“适应”,我会用一个小故事。
假设有些公司希望提供一些在线服务。他们将这些服务公开为SOAP Web服务,并在地址http://some.server.com/context/bla/whatever
处提供。
在宣传他们的服务后,他们必须实际告诉他们的客户如何使用该东西。他们可以向他们发送电子邮件并告诉他们如何调用它,或者他们可以编写Word文档并告诉他们如何操作。但这不切实际,邮件或word文档不能用于自动生成客户端代码。有些家伙必须手工编写代码......可怜的混蛋。
这是WSDL发挥作用的地方。它是描述服务接口的规范。 Beeing是一个XML文件,它是一种人类可读的格式,但更重要的是是一种机器可以读取和处理的格式 ......正如您现在可能猜到的那样...... 可以生成客户端代码基于它。
因此,该公司不打算写电子邮件或文件。它们记录了WSDL文件中的所有内容并使其在线可用(WSDL中的XML Schema类型......非常重要......您应该阅读XML Schema)。
为了简化事情,你可以(通常)在与Web服务相同的地址找到WSDL,只需添加一个额外的参数:
http://some.server.com/context/bla/whatever?wsdl
基于WSDL,客户端现在可以生成可以调用服务的代码(在C#中使用svcutil.exe,在Java中使用Axis wsdl2code等)。
价格迷人和灰姑娘从此过上幸福的生活......哦......等等......这是另一个故事:P。
现在认真......正如我在开头所说的那样:与老师交谈,并询问你应该如何使用WSDL。
希望这个解释能让你更清楚一些。