伙计们,我被困住了,在过去的几个小时里,我的头撞了桌子.
我正在尝试使用一个服务,并且我有8个其他函数,我称之为本质上几乎是IDENTICAL,但是这个函数会导致'SOAP-ERROR:Encoding:违反编码规则'错误.
继承函数调用(为安全起见省略了wsdl):
function CanLoadProduct($data){
$client = new SoapClient('wsdl-url');
$params = array('username' => $this->username,
'password' => $this->password,
'prod' => $data['productid'],
'mdn' => $data['mdn']);
try {
$reply = $client->__soapCall("CanLoadProduct", $params);
} catch (Exception $e) {
echo 'Error: ', $e->getMessage(), "\n";
print_r($params);
die();
}
if( $reply['result'] == 1 ){
return TRUE; // 1 = true
} else {
return FALSE;
}
}
Run Code Online (Sandbox Code Playgroud)
好的,这个函数,连接到web服务,所需的元素是:用户名,密码,prod,mdn,我提供的所有4个作为$ params数组的一部分.用户名/传递是先前定义的,并且工作正常,因为其他8个函数使用Web服务没有任何问题.
$ data []数组(我传递给函数)包含:$ data ['productid'] $ data ['mdn']没有使用其他内容.
我正进入(状态
SOAP-ERROR: Encoding: Violation of encoding rules
Run Code Online (Sandbox Code Playgroud)
由于一些无法解释的原因,谷歌搜索这个错误让我无处可去.其他人遇到这个?运行PHP 5.2.9-2.奇怪的是这与100%的这个功能相同:
function …Run Code Online (Sandbox Code Playgroud)