【问题标题】:Best way to create PHP Web Service [closed]创建 PHP Web 服务的最佳方法 [关闭]
【发布时间】:2011-01-11 19:37:52
【问题描述】:

不是真正的 PHP 开发人员,但我有 PHP 托管,并想在其上创建一个 PHP Web 服务以供 .NET 客户端使用,我正在考虑将 WSDL 与 NUSoap 一起使用。

一个更现代的解决方案是使用 OData,我不确定它是否会更容易。哪个更容易?

【问题讨论】:

标签: php wsdl odata nusoap


【解决方案1】:

对于 c# 开发人员来说,最简单的方法是使用 WSDL 开发一个肥皂服务。用php创建服务会很痛苦。

更好的选择是创建一个使用 JSON 进行通信的 REST Web 服务。它需要一个bit more code on the client side,但在其他平台上会更容易使用,并且可以在 php 中快速开发。

这是一个非常简单的 php REST-JSON Web 服务器示例。

function finder($person)
{
     $data = array();

     $data['sue']['full_name'] = 'Sue Thompson';
     $data['sue']['location']['city'] = 'San Francisco';
     $data['sue']['location']['state'] = 'California';

     $data['jack']['full_name'] = 'Jack Black';
     $data['jack']['location']['city'] = 'San Anselmo';
     $data['jack']['location']['state'] = 'California'; 

    if (!isset($data[$person))
    {
        return $data[$person];
    }
    else
    {
        // make sure you document this
        return array('error' => "An error has occured");
    }
}

// you can take parameters as url query strings or as json.
// if your input is simple, query strings are easier. 
$person = $_GET['person'];

echo json_encode(finder($person));

【讨论】:

  • 问题没有指定 PHP 吗?
  • 她说PHP服务器,.net客户端。 REST web 服务将更容易开发服务器端代码,这是众所周知的(这就是 Google 的 web 服务的工作方式)。它只是不能在 .net 端自动工作。
  • 对它的服务器端是我不太熟悉的PHP,所以不太复杂更好,客户端是.NET,JSON实际上是一个好主意......
【解决方案2】:

看在上帝的份上,请不要使用 SOAP。太可怕了,太可怕了。

使用 REST(或至少 GET 和 POST)和 JSON。轻松多了。

SOAP or REST for Web Services?

更新:我最初反对 XML,但它有它的位置。 JSON 更好(不那么冗长)。

【讨论】:

  • XML 占有一席之地。这取决于你的听众。一旦您了解了解析器,XML 并没有那么糟糕。 SOAP 几乎总是失败,但如果您的客户端是 .NET,那么 SOAP 对他们来说非常好。
【解决方案3】:

在这个网站上有很好的解释:http://wso2.org/library/3393

【讨论】:

    猜你喜欢
    • 2011-03-14
    • 2010-09-29
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多