不是真正的 PHP 开发人员,但我有 PHP 托管并想在其上创建一个 PHP Web 服务以供 .NET 客户端使用,我正在考虑将 WSDL 与 NUSoap 一起使用。
或者
一个更现代的解决方案是使用 OData,我不确定它是否会更容易。哪一个会更容易?
对于您的 c# 开发人员来说,最简单的方法是使用 WSDL 开发一个肥皂服务。在 php 中创建服务会很痛苦。
更好的选择是创建一个使用 JSON 进行通信的 REST Web 服务。在客户端需要更多的代码,但在其他平台上会更容易使用,并且可以快速在 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));
看在上帝的份上,请不要使用 SOAP。这是可怕的和可怕的。
使用 REST(或至少 GET 和 POST)和 JSON。容易多了。
更新:我最初反对 XML,但它有它的位置。不过 JSON 更好(不那么冗长)。
在这个网站上有很好的解释:http ://wso2.org/library/3393