【问题标题】:Use of web services?使用网络服务?
【发布时间】:2012-08-25 10:21:22
【问题描述】:

我是一名计算机科学专业的学生,​​本学年我正在学习网络。我已经具备 HTML、CSS、Javascript、PHP 和一点 XML 方面的知识。我将需要制作一个包含所有这些技术的迷你项目,其中包括 Web 服务。您能否给我描述一下 Web 服务的工作原理和方式。我们为什么要使用它,以及没有它不能做什么。

如果你能给我一个例子,我们在哪里使用 Web 服务,那就太好了。这会给我一些想法来思考我的项目标题。

我将使用 SOAP 和 WSDL,使用 PHP。

【问题讨论】:

标签: xml web-services soap wsdl


【解决方案1】:

我们为什么使用网络服务

Web 服务的强大之处在于它们提供了程序员可以添加到自己的应用程序中的功能,而不管使用何种编程语言。

示例

例如,您可能有一个网站,您希望用户能够在其中输入他们的位置,并且您的网站会返回天气以及他们在 Google 地图上的位置显示。谷歌地图和各种天气网站都提供网络服务,因此网络开发人员可以使用这些功能。如果您的网站是用 Java、PHP 或 python 编码的,则无关紧要。

另一个例子是,如果您有一个商业网站,并且您希望自己的网站 每天显示股票行情。各种公司将提供股票行情网络服务,以便您可以做到这一点。有些是免费的,有些不是。

SOAP 与 RESTful Web 服务

最终,您将需要讨论 RESTful Web 服务和 SOAP 之间的区别,这本身就是一个具有里程碑意义的讨论。但下面是一个简单的用于添加两个数字的静态 Web 服务示例。

休息

http://www.SimpleMathSite.com/Add/5/6/

网站会返回一些类似的东西

<?XML  version="1.0" encoding="utf-8"?>
<answer>
11
</answer>

您可以在您的 javascript 或 PHP 代码中使用它。查看 URL,您可以看到您调用了“添加”函数并将值 5 和 6 传递给它。这就是 Web 服务允许用不同语言编写的对象相互通信的方式。

SOAP

SOAP 要复杂得多,但它的优点是 WSDL 文件,它描述了您可以调用的所有远程函数。因此,一些编译器允许您导入 Web 服务并创建可以放置在代码中的对象,而无需查看幕后发生的任何复杂 XML。如果上面的例子有一个 WSDL 文件,一些编译器会允许你导入 web 服务,这样你就可以像这样在你的代码中使用它。

int Answer = SimpleMath.Add(5,6); // No need to parse the XML yourself.

查看这个天气网络服务,了解如何使用 SOAP 的一个很好的例子。如果您想从头开始制作自己的 SOAP 客户端,它提供了示例 HTTP GET 和 POST 请求。

http://www.webservicex.com/globalweather.asmx?op=GetWeather

如果没有网络服务怎么办?

如果没有网络服务,网站无法使用来自其他网站的数据更新其内容,例如航空公司信息、酒店空缺情况,或者您的 Facebook 朋友是否喜欢 Pandora 上的同一首歌曲。

【讨论】:

    猜你喜欢
    • 2015-07-15
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 2014-10-05
    相关资源
    最近更新 更多