繁体   English   中英

PHP Soap客户端密钥错误

[英]PHP Soap Client Key Error

我需要一些帮助。 我不是PHP专家,但我知道自己的出路,但是对于我一生,我无法找到问题所在。

我们的客户端上有一个外部数据库(无权访问的MSSQL数据库)。 我们使用CRM解决方案,该解决方案使用字符串为他们的产品生成许可证密钥。 我们通过用C#编写的Web服务访问存储过程。 在我们这边,我们有一个PHP站点,可以访问Web服务以写入数据库。

我在PHP中的代码如下所示:

$skey = "FDGK:LKss#()#84$$$";
$productID = 5;
$data = "D359;00011,P,D359ZZ,SQKGLTKQKQYZHRA,ALNR,009350,20140228,005392;DEWALDH;D359;0";

try
{
    $wsdl = "http://connectedservices.sagesouthafrica.co.za/serv/communicate.asmx?wsdl";        
    $client = new SoapClient($wsdl);
    $result = $client->__soapCall("InsertSerialAuthProduct", array("InsertSerialAuthProduct" => array("Skey"=>$skey,"ProductID" => $productID ,"Data"=>$data))); 
} catch (SoapFault $E)
{
    echo $E->faultstring;
}

由于某种原因,每次我尝试生成产品代码时,都会产生错误:

Server was unable to process request. ---> Key Error. 

php的版本是5.2(我正忙着将整个内容重写为asp.net,但是我在8月底对此有时间限制)

任何帮助将不胜感激。

编辑 “ skey” => $ skey已修复。 谢谢。

但是问题从给我一个错误到只显示一个灰色页面而已。

问题:

"Skey"=>$skey,应为"skey"=>$skey,

$client->__soapCall("InsertSerialAuthProduct", array(
                    "InsertSerialAuthProduct" => array(
                             "skey"=>$skey, // Not Skey
                             "ProductID" => $productID ,
                             "Data"=>$data)
                            )
                    );

您可以这样打电话:

$wsdl = "http://connectedservices.sagesouthafrica.co.za/serv/communicate.asmx?wsdl";
$client = new SoapClient($wsdl);
$result = $client->InsertSerialAuthProduct(array(
                          "skey"=>$skey,
                          "ProductID" => $productID ,
                          "Data"=>$data)
              );

我只是打开您提供的WSDL链接,然后根据我看到的内容更改行

$result = $client->__soapCall("InsertSerialAuthProduct", array("InsertSerialAuthProduct" => array("Skey"=>$skey,"ProductID" => $productID ,"Data"=>$data))); 

$result = $client->__soapCall("InsertSerialAuthProduct", array("InsertSerialAuthProduct" => array("skey"=>$skey,"ProductID" => $productID ,"Data"=>$data))); 

正如我在WSDL中看到的那样,skey很小,所以这可能是导致错误的原因。 虽然不确定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM