有一个wcf服务器,我正在尝试连接它并发送请求。
代码是:
$url = "http://serverip:8080/example.svc?wsdl";
$params = array(
'Username' => 'username',
'Password' => 'password'
);
$client = new SoapClient($url);
var_dump($client->__getTypes()); //it works
$result = $client->Login($params); //gives error
但每次我收到内部服务器错误。我花了5天时间搜索所有网页并尝试了所有不同的方法,但我总是收到内部服务器错误。错误如下:
protected 'message' => string 'The server was unable to process ...
private 'string' (Exception) => string '' (length=0) ...
如果我使用SOAP UI,我可以发送和获取数据,或者如果我调用" $ client-> __ getTypes()"从php服务器,我得到类型。但是如果我用PHP调用实现的函数它就不起作用。有人帮我吗?
非常感谢,
答案 0 :(得分:0)
也许您应该将参数作为对象传递,如以下示例所示
try {
$client = new SoapClient('http://serverip:8080/example.svc?wsdl');
$params = new stdClass();
$params->Username = 'Username';
$params->Password = 'Password';
$client->Login($params);
} catch (SoapFault $e) {
// error handling
}