不是真正的PHP开发人员,但我有PHP托管,并希望在其上创建一个PHP Web服务供.NET客户端使用,我正在考虑将WSDL与NUSoap一起使用。
OR
更现代的解决方案,我不确定会更容易,将使用OData。哪一个更容易?
答案 0 :(得分:4)
最简单的c#开发人员是使用WSDL开发soap服务。在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));
答案 1 :(得分:2)
请为上帝的爱不要使用SOAP。这太糟糕了。
使用REST(或至少GET和POST)和JSON。这么容易。
请参阅SOAP or REST for Web Services?
更新:我最初是针对XML咆哮的,但它有它的位置。虽然JSON更好(更简洁)。
答案 2 :(得分:0)
本网站对此进行了详细解释:http://wso2.org/library/3393