当前位置:首页 > 深入 Python > SOAP Web 服务 > SOAP入门 | << >> | ||||
深入 Python从 Python 新手到专家 |
SOAP 的核心功能是调用远程函数。有很多公共访问的 SOAP 服务器提供简单的函数用于演示目的。
最受欢迎的公共访问 SOAP 服务器是 http://www.xmethods.net/。本例使用了一个演示函数,该函数接受一个美国邮政编码并返回该地区的当前温度。
>>> from SOAPpy import SOAPProxy>>> url = 'http://services.xmethods.net:80/soap/servlet/rpcrouter' >>> namespace = 'urn:xmethods-Temperature'
>>> server = SOAPProxy(url, namespace)
>>> server.getTemp('27502')
80.0
![]() |
您可以通过代理类 SOAPProxy 访问远程 SOAP 服务器。该代理为您处理 SOAP 的所有内部细节,包括根据函数名称和参数列表创建 XML 请求文档、通过 HTTP 将请求发送到远程 SOAP 服务器、解析 XML 响应文档以及创建要返回的原生 Python 值。您将在下一节中看到这些 XML 文档的样子。 |
![]() |
每个 SOAP 服务都有一个处理所有请求的 URL。所有函数调用都使用相同的 URL。此特定服务只有一个函数,但本章稍后您将看到 Google API 的示例,它有几个函数。服务 URL 由所有函数共享。每个 SOAP 服务还有一个由服务器定义的命名空间,该命名空间是完全任意的。它只是调用 SOAP 方法所需的配置的一部分。它允许服务器共享单个服务 URL 并在多个不相关的服务之间路由请求。这就像将 Python 模块划分为 包。 |
![]() |
您正在使用服务 URL 和服务命名空间创建 SOAPProxy。这不会与 SOAP 服务器建立任何连接;它只是创建一个本地 Python 对象。 |
![]() |
现在,一切配置妥当,您可以像调用本地函数一样调用远程 SOAP 方法。您传递参数的方式与普通函数一样,并且您获得返回值的方式也与普通函数一样。但在幕后,发生了很多事情。 |
让我们来看看这些幕后的事情。
<< 安装 SOAP 库 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
调试 SOAP Web 服务 >> |