捕获异常:内部服务器错误Soap连接php

时间:2015-04-01 12:59:54

标签: php soap wsdl

我正在php中构建一个函数来检查用户和密码是否与外部数据库匹配,因此我可以提取电子邮件。他们为我创建了一个带wsdl的肥皂,所以我可以检查一下。

我已经可以检查用户是否存在,但每次我尝试发送SoapCall来请求电子邮件时,都会收到错误消息Caught exception:Internal Server Error。

我四处寻找这个错误,并且在请求期间我作为参数发送的数组有些错误。该数组包含我正在检查的用户的登录名/密码。

奇怪的是,如果我只发送只有一个参数的数组,那么我不会收到错误,但是我只收到一个空字符串,因为用户名和密码不匹配。

我使用相同的结构来检查用户是否存在,并且没有给出错误。

以下是我的连接代码:

checkEmail('HMichiels','xxxxxxx'); 
function checkEmail($pLoginStr,$pPassWordStr){
try{
$client = new SoapClient('https://milliarium.gabo-mi.com/Forms/Generic/Security/ExternalEmailService.asmx?WSDL', array('trace'=>1));
$params = array('pLoginStr'=>$pLoginStr,
            'pPassWordStr'=>$pPassWordStr,);
$response = $client->__soapCall("GetUserEmail",array($params));
$responseS = $response->GetUserEmailResult;

//check what i'm sending inside the soapcall
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
} catch(SoapFault $fault){
echo 'Caught exception:', $fault->getMessage();
}

任何有经验的人都知道问题是什么?我在这个错误上丢失了几个小时><

TNX

1 个答案:

答案 0 :(得分:1)

肥皂参数区分大小写,必须在服务器端匹配。您应该按照WSDL中的定义发送pPassWordStr时发送pPasswordStr