如何从PHP轻松使用web服务
是否有任何PHP工具可用于生成代码,以便根据其特性使用a?类似于在Visual Studio中单击“添加Web引用”或Eclipse插件,后者对Java执行相同的操作。好的,这些功能是特定于您在这些语言中进行开发所使用的工具的 如果(例如)您使用记事本编写代码,您就不会有这些工具。所以,也许你应该问你正在使用的工具的问题如何从PHP轻松使用web服务,php,web-services,visual-studio,wsdl,Php,Web Services,Visual Studio,Wsdl,是否有任何PHP工具可用于生成代码,以便根据其特性使用a?类似于在Visual Studio中单击“添加Web引用”或Eclipse插件,后者对Java执行相同的操作。好的,这些功能是特定于您在这些语言中进行开发所使用的工具的 如果(例如)您使用记事本编写代码,您就不会有这些工具。所以,也许你应该问你正在使用的工具的问题 对于PHP:我过去使用过。我喜欢它,因为它只是一组可以包含的PHP文件。web服务器上没有要安装的内容,也没有要更改的配置选项。它还支持WSDL,这是一个额外的好处。我在这方面
对于PHP:我过去使用过。我喜欢它,因为它只是一组可以包含的PHP文件。web服务器上没有要安装的内容,也没有要更改的配置选项。它还支持WSDL,这是一个额外的好处。我在这方面取得了巨大的成功。它将自动为web服务中使用的所有对象和方法创建包装类。在PHP 5中,您可以使用WSDL调用web服务函数: $client现在是一个对象,它具有some.wsdl中定义的类方法。因此,如果WSDL中有一个名为getTime的方法,那么您只需调用:
$result = $client->getTime();
结果(显然)是$result变量。您可以使用uu getFunctions方法返回所有可用方法的列表。这说明了如何使用PHP SoapClient调用api web服务。您好,我从本网站获得了以下信息: web服务具有方法
Add
,该方法采用两个参数:
<?php
$client = new SoapClient("http://localhost/csharp/web_service.asmx?wsdl");
print_r( $client->Add(array("a" => "5", "b" =>"2")));
?>
假设您获得了以下服务:
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:int="http://thesite.com/">
<x:Header/>
<x:Body>
<int:authenticateLogin>
<int:LoginId>12345</int:LoginId>
</int:authenticateLogin>
</x:Body>
</x:Envelope>
如您所见,XML中指定的项在PHP代码中使用,但LoginId值可以更改。尝试解析VMWares vimService wsdlUpdate:link的Bombs已更改,现在可以工作,指向github,因此路过的用户不应该因为旧的链接(当时非常有用)而跳过工作链接注释:)这很好,但要快速开始使用
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:int="http://thesite.com/">
<x:Header/>
<x:Body>
<int:authenticateLogin>
<int:LoginId>12345</int:LoginId>
</int:authenticateLogin>
</x:Body>
</x:Envelope>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<authenticateLoginResponse xmlns="http://thesite.com/">
<authenticateLoginResult>
<RequestStatus>true</RequestStatus>
<UserName>003p0000006XKX3AAO</UserName>
<BearerToken>Abcdef1234567890</BearerToken>
</authenticateLoginResult>
</authenticateLoginResponse>
</s:Body>
</s:Envelope>
$client = new SoapClient('http://thesite.com/PortalIntegratorService.svc?wsdl');
$result = $client->authenticateLogin(array('LoginId' => 12345));
if (!empty($result->authenticateLoginResult->RequestStatus)
&& !empty($result->authenticateLoginResult->UserName)) {
echo 'The username is: '.$result->authenticateLoginResult->UserName;
}