致命错误:未捕获的SoapFault异常:[env:Client]内部错误

时间:2014-02-12 09:44:33

标签: php caching soap wsdl

我正在尝试使用PHP SOAP客户端发送测试消息。我正在使用BeSimpleSoap库,因为我遇到了标准PHP SOAP calss和NuSOAP类的问题。 部分脚本是:

        $client = new BeSimple\SoapClient\SoapClient("GSBService.wsdl", array( 
                        "trace"=>1,
                        "exceptions"=>1,
                        'location'=>$SERVICE_TEST,
                        "local_cert" =>$SOAP_cert,
                        'uri'=>$NAMESPACE_URI,
                        "passphrase"=>$cert_password,
                            "connection_timeout" => 60));

        var_dump($client->echo('abc1234'));
        print_r( $client->sendMessage($par_envelope));



        echo "<p>Request :".htmlspecialchars($client->__getLastRequest()) ."</p>";
        echo "<p>Response:".htmlspecialchars($client->__getLastResponse())."</p>";
        echo "<p>Debug:".soapDebug($client)."</p>";

错误是:

    string(57) "Request: 'abc1234'. Response: '2014-02-12T09:39:56.474Z'."
Fatal error: Uncaught SoapFault exception: [env:Client] Internal Error in C:\xampp\htdocs\NIAS\HZZO-OKP-SOAP.php:146 Stack trace: #0 C:\xampp\htdocs\NIAS\HZZO-OKP-SOAP.php(146): SoapClient->__call('sendMessage', Array) #1 C:\xampp\htdocs\NIAS\HZZO-OKP-SOAP.php(146): BeSimple\SoapClient\SoapClient->sendMessage(Array) #2 {main} thrown in C:\xampp\htdocs\NIAS\HZZO-OKP-SOAP.php on line 146

我试过了:

ini_set('soap.wsdl_cache_enabled',0);

得到了这个:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: can't import schema from 'file:///schema/GSBSchema.xsd' in C:\xampp\htdocs\NIAS\BeSimpleSoap-master\src\BeSimple\SoapClient\SoapClient.php:113 Stack trace: #0 C:\xampp\htdocs\NIAS\BeSimpleSoap-master\src\BeSimple\SoapClient\SoapClient.php(113): SoapClient->SoapClient('\wsdl_9429a1dff...', Array) #1 C:\xampp\htdocs\NIAS\HZZO-OKP-SOAP.php(134): BeSimple\SoapClient\SoapClient->__construct('GSBService.wsdl', Array) #2 {main} thrown in C:\xampp\htdocs\NIAS\BeSimpleSoap-master\src\BeSimple\SoapClient\SoapClient.php on line 113

1 个答案:

答案 0 :(得分:0)

问题在于$par_envelope的编码。 在我使用utf8_encode在UTF-8中编码字符串后,我没有得到 Fatal error: Uncaught SoapFault exception: [env:Client] Internal Error