Python Web 服务开发人员: 现实世界,第一部分
2007-03-29 12:42:00 来源:WEB开发网核心提示: 清单3中的源代码注释将功能分为几个步骤,第一,Python Web 服务开发人员: 现实世界,第一部分(3),在初始的导入之后,我们创建了一个字符,然后发送请求信封(envelope),在 清单4中我们可以看到来自 GoogleSearch 服务的 XML SOAP 响应,它包含 SOAP
清单3中的源代码注释将功能分为几个步骤。第一,在初始的导入之后,我们创建了一个字符,它包含 SOAP-Envelop 的模板,该模板与 清单2的 WSDL 中所定义的结构相匹配。下一步,为了更清楚地进行说明,我们设置了一些变量,以使用 Python 的字符串处理来填充 envelop_template 。然后,我们打开 POST 请求的 HTTP 连接来传送标准的消息头(header),然后发送请求信封(envelope)。在 清单4中我们可以看到来自 GoogleSearch 服务的 XML SOAP 响应。
清单4. 清单2的部分结果 -- 只显示10个结果的第1个(添加了缩排)。
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:doGoogleSearchResponse xmlns:ns1="urn:GoogleSearch"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="ns1:GoogleSearchResult">
<documentFiltering xsi:type="xsd:boolean">false</documentFiltering>
<estimatedTotalResultsCount xsi:type="xsd:int">
117000
</estimatedTotalResultsCount>
<directoryCategories
xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:Array" ns2:arrayType="ns1:DirectoryCategory[1]">
<item xsi:type="ns1:DirectoryCategory">
<specialEncoding xsi:type="xsd:string"></specialEncoding>
<fullViewableName xsi:type="xsd:string">
Top/Regional/North_America/United_States/Oregon/Localities/S/Sweet_Home
</fullViewableName>
</item>
</directoryCategories>
<searchTime xsi:type="xsd:double">0.074759</searchTime>
<resultElements
xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns3:Array" ns3:arrayType="ns1:ResultElement[10]">
<item xsi:type="ns1:ResultElement">
<cachedSize xsi:type="xsd:string">2k</cachedSize>
<hostName xsi:type="xsd:string"></hostName>
<snippet xsi:type="xsd:string">
A presentation of bird photographs, songs, identification tips,
distribution maps, and life history information for North American
birds, and a forum for <b>...</b>
</snippet>
<directoryCategory xsi:type="ns1:DirectoryCategory">
<specialEncoding xsi:type="xsd:string"></specialEncoding>
<fullViewableName xsi:type="xsd:string"></fullViewableName>
</directoryCategory>
<relatedInformationPresent xsi:type="xsd:boolean">
true
</relatedInformationPresent>
<directoryTitle xsi:type="xsd:string"></directoryTitle>
<summary xsi:type="xsd:string"></summary>
<URL xsi:type="xsd:string">
http://www.mbr-pwrc.usgs.gov/id/framlst/i3690id.html
</URL>
<title xsi:type="xsd:string">
<b>Spotted</b> <b>Owl</b>
</title>
</item>
...
</resultElements>
<endIndex xsi:type="xsd:int">10</endIndex>
<searchTips xsi:type="xsd:string"></searchTips>
<searchComments xsi:type="xsd:string"></searchComments>
<startIndex xsi:type="xsd:int">1</startIndex>
<estimateIsExact xsi:type="xsd:boolean">false</estimateIsExact>
<searchQuery xsi:type="xsd:string">spotted owl</searchQuery>
</return>
</ns1:doGoogleSearchResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
更多精彩
赞助商链接