是否有可用于PHP的工具可用于生成基于其WSDL使用Web服务的代码? 类似于在Visual Studio中单击“添加Web引用”或者为Java执行相同操作的Eclipse插件。

===============>>#1 票数:86

在PHP 5中,您可以在WSDL上使用SoapClient来调用Web服务功能。 例如

$client = new SoapClient("some.wsdl");

和$ client现在是一个对象,它具有some.wsdl中定义的类方法。 因此,如果在WSDL中有一个名为getTime的方法,那么您只需调用:

$result = $client->getTime();

并且结果将(显然)在$ result变量中。 您可以使用__getFunctions方法返回所有可用方法的列表。

===============>>#2 票数:20 已采纳

我用wsdl2php取得了很大的成功。 它将自动为Web服务中使用的所有对象和方法创建包装类。

===============>>#3 票数:10

我过去使用过NuSOAP 我喜欢它,因为它只是一组可以包含的PHP文件。 Web服务器上无需安装任何内容,也无需更改配置选项。 它也有WSDL支持,这是一个奖励。

===============>>#4 票数:2

本文介绍如何使用PHP SoapClient调用api Web服务。

===============>>#5 票数:1

我从这个网站得到了这个: http//forums.asp.net/t/887892.aspx?Consume + an + ASP + Internet + Web + Service+with+PHP

Web服务有方法Add ,它有两个参数:

<?php
    $client = new SoapClient("http://localhost/csharp/web_service.asmx?wsdl");

     print_r( $client->Add(array("a" => "5", "b" =>"2")));
?>

===============>>#6 票数:1

假设您提供以下内容:

<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>

让我们说访问http://thesite.com/说WSDL地址是: http//thesite.com/PortalIntegratorService.svc?wsdl

$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;
}

如您所见,尽管可以更改LoginId值,但在PHP代码中使用XML中指定的项。

===============>>#7 票数:1

嗯,这些功能特定于您用于这些语言开发的工具。

如果(例如)您使用记事本编写代码,则不会使用这些工具。 所以,也许你应该问你正在使用的工具的问题。

对于PHP: http//webservices.xml.com/pub/a/ws/2004/03/24/phpws.html

  ask by Edo translate from so

未解决问题?本站智能推荐: