Bil*_*ill 5 php soap geocoding
我已经创建了一个带有映射组件的Web应用程序.我想使用谷歌以外的其他地理编码服务,但我发现的所有服务都使用SOAP与网站进行通信.我以前从未用过肥皂.有谁知道有什么好的资源可以帮我解决这个问题?我正在使用PHP集成来构建Web应用程序.
编辑:我现在需要使用Soap进行地理编码...所以如果你知道任何好的服务,那就太好了.谢谢!
再次编辑:我基本上需要学习肥皂,所以我可以与http://www.nn4d.com/site/global/build/web_services/geocoding_reversegeocoding/map24geocoder51service/map24geocoder51service.jsp进行互动
Spu*_*ley 17
学习SOAP本身需要学习XML和许多特定于SOAP的东西.
但是,您已经标记了PHP的问题,因此我假设您实际要问的是学习如何通过PHP使用SOAP Web服务.这与学习SOAP本身不同,因为PHP(像大多数其他语言一样)抽象出SOAP的凌乱XML位并将其转换为易于使用的对象.
无论如何,这就是理论.
PHP上有两个常用的SOAP工具包.一个叫做NuSOAP.这工作得相当好,但不再处于活动开发阶段(它是在PHP提供自己的内置SOAP类之前编写的).如果你想使用NuSOAP,这里是官方项目网站:http://nusoap.sourceforge.net/
如果您使用的是PHP5.2或5.3(您应该使用它,因为它们是目前唯一受支持的版本),那么您将拥有一个内置的SOAP类.如果你想使用官方的PHP SOAP类,这里是手册页:http://php.net/manual/en/book.soap.php
一旦选择了要使用的SOAP类,就需要了解一般的SOAP Web服务以及要使用的特定服务.
首先,您需要知道该服务是否提供了WSDL.WSDL是另一个XML文档,它定义了SOAP服务上可用的方法和参数.这允许您的SOAP类为SOAP服务定义一个类,这使您作为程序员的生活更轻松.在PHP的实践中,它并没有真正的差异.
我还建议您下载SOAP UI,它是SOAP服务的调试工具.它允许您查看和修改发送和接收的确切XML代码.它将帮助您学习和理解SOAP的工作原理,并在PHP代码无法按预期工作时帮助您进行调试.
[编辑]显然,最重要的是要了解您正在使用的API.
如果您正在处理的服务具有WSDL,PHP将在您创建对象时自动为您生成适当的方法.例如:
$client = new SoapClient("http://somedomain/stockquote.wsdl");
print($client->getStockQuote("MSFT"));
Run Code Online (Sandbox Code Playgroud)
它真的是那么简单.当然,这是一个相当简单的例子; 大多数SOAP服务(当然是我使用的那些!)需要更多参数,并且它们通常采用巨型嵌套数组结构的形式.
如果您的服务没有WSDL,则必须使用稍微不同的方法调用方法:
$client = new SoapClient(null, array('location' => "http://somedomain/stockquote.asp"));
print($client->__soapCall('getStockQuote',"MSFT"));
Run Code Online (Sandbox Code Playgroud)
希望能帮助您更好地理解它.
我仍然建议您使用SOAP UI,因为它可以帮助您更好地理解SOAP.您还应该阅读PHP SOAP类手册页:http://php.net/manual/en/book.soap.php - 文档非常详尽,但是就像所有这些事情一样,最初可能会让人感到畏惧因为它是一个参考,而不是一个教程.
| 归档时间: |
|
| 查看次数: |
4395 次 |
| 最近记录: |