是否有可用于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

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

1回复

如何从本地WSDL文件使用Web服务?

我从一个提供程序获得了一个WSDL文件,并将其作为服务引用添加到Visual Studio 2013中的C#项目中。 我可以看到我需要的相关课程,但是当我调用它们上面的函数时,我的程序中没有任何内容传输。 我已经配置了Wireshark来监听,但是当我运行它时,我的程序没有数据。
1回复

使用vb.net使用标准的SOAP Web服务

我已经成功使用了多个wsdl服务,但现在仍受此Web服务困扰。 正在实施Hotelston网络服务,该服务指出:Hotelston.com API是标准的SOAP Web服务(WS),可从URL http://www.hotelston.com/ws/HotelService?wsdl获得。
1回复

如何使用WSDL文件在Visual Studio.NET中创建Web服务?

我正在尝试使用WSDL Top Down方法在Visual Studio 2010中创建Web服务。 我使用Eclipse的WSDL GUI Editor生成一个WSDL文件(CalculatorWSDL.wsdl),该文件使用SOAP方法进行通信。 我还使用wsdl.exe生成一个
1回复

一个Web服务C#.NET的服务参考/客户端

我对VS中的Web服务引用有疑问。 问题很简单,我有一个URL(例如www.something-some.example.com),该URL承载大量Web服务,而我将不得不使用其中的大多数服务。 因此,有什么方法可以创建一个服务引用并仅动态添加WSDL。 (例如-www.somet
7回复

从WSDL文件在Visual Studio中创建Web服务代理

我的应用程序需要与没有在线WSDL定义的Web服务进行对话。 但是,开发人员向我提供了WSDL文件。 使用公共WSDL,Visual Studio可以使用“服务参考”向导为我生成此代码。 但是,如果没有公共的WSDL,它似乎无法工作。 如何使用此WSDL文件生成与此Web服务对话
1回复

如何停止Visual Studio生成的Web服务代理类的编码?

我正在使用Visual Studio生成的代理类来访问Web服务(将Web服务添加为对我的项目的Web引用)。 问题在于,Web服务公开的功能需要CDATA元素,即: 不幸的是,当我将“”传递给代理类时,它使用以下命令调用Web服务: 这似乎导致Web服务出现问题。 在仍然使
1回复

Web服务兼容性问题归因于wsdl中的name属性

我正在尝试从.net应用程序使用基于第三方Java的Web服务。 问题是关于给定wsdl的兼容性问题。 当我尝试在我的VStudio项目中包含此wsdl时,我收到以下消息: 我在这里已经读到,他们不应该在name属性中使用冒号,因为作为NCName类型,只允许使用非常短的一组字符。
1回复

在PHP中使用Web服务API

目前,我正在尝试使用此处记录的该API: http : //www.sentimentanalysisonline.com/page/documentation/ 我正在尝试使用getScore()Web函数,但是它一直给我这个错误: 致命错误:未捕获的SoapFault异常:[
1回复

在没有asmx,wsdl或添加Web引用的情况下调用第三方WebService

我需要测试第三方开发的Web服务。 第三方既未提供WSDL也未提供ASMX。 他们只提供了Web服务的名称,url以及原始XML请求的示例。 我现在正试图打电话,但我不知道该怎么做! 我尝试通过执行visual studio的wsdl.exe来获取wsdl,但是我收到一条错误,上面写
1回复

wsdl.exe是否可以生成与Visual Studio在添加Web引用时所执行的文件相同的文件?

简短版本 wsdl.exe可以生成与Visual Studio在添加Web引用时完全相同的文件吗? 或者: 在添加Web引用时,哪些Windows CMD命令将模仿Visual Studio的功能? 更多细节 我有一个使用Web引用的VS2015项目: https