2016-11-24 8 views
0

nusoapクライアントとnusoapサーバーを作成しようとしました。私は2つの操作を宣言しましたが、1つしか動作しません。Nusoap php応答がタイプでない

私のserver_soapコードがあります。

$servidor = new nusoap_server(); 
$ns = "urn:AvertisWebService"; 
$servidor->configureWSDL("AvertisWebService",$ns); 
$servidor->wsdl->schemaTargetNamespace = $ns; 

$servidor->register(
    "responseCorrecto", 
    array("numeroIN" => "xsd:Integer"), 
    array("return" => "xsd:Integer"), $ns); 

$servidor->register(
    "responseIncidencia", 
    array("incNomb" => "xsd:String", 
     "incTelf" => "xsd:String", 
     "incNif" => "xsd:String", 
     "incMun" => "xsd:String", 
     "incLoc" => "xsd:String", 
     "incCalle" => "xsd:String", 
     "incCp" => "xsd:String", 
     "incCordX" => "xsd:String", 
     "incCordY" => "xsd:String", 
     "incText" => "xsd:String"), 
    array("return" => "xsd:Integer"), $ns); 

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ""; 

$servidor->service($HTTP_RAW_POST_DATA); 


function responseIncidencia(
    $incNomb, $incTelf, $incNif, $incMun, $incLoc, 
    $incCalle, $incCp, $incCordX, $incCordY, $incText 
    ){ [...] 

と私は自分のサーバーを呼び出すところがあります:

include_once "lib/nusoap/nusoap.php"; 
include_once "lib/cargadorConf.php"; 

$conf = new cargadorCONF(); 
$cliente = new nusoap_client($conf->CONF["webServiceUrl"],true); 

$param = array("numeroIN" => 5); 
$resultado = ($cliente->call("responseCorrecto", $param)); 
echo $resultado; //Must be 50 

$param = array(
    "incNomb" => "javier", "incTelf" => "645876321" , "incNif" => "1254789" , 
    "incMun" => "municipio" , "incLoc" => "localidad" , "incCalle" => "calle" , 
    "incCp" => "36544" , "incCordX" => "1.2334" , "incCordY" => "-3.56634" , "incText" => "Hola Mundo"); 

$resultado = ($cliente->call("responseIncidencia", $param)); 
echo "resultado= ".$resultado; 
echo $resultado; //Must be 1 

このコードが返されます。

そして

レスポンスタイプがtext/xml:text/htmlではありません。 charset = UTF-8

最初の操作は正常に動作しますが、2番目の操作は常にこのエラーが発生します。

答えて

0

私はこれを解決します。

"responseIncidencia"関数で内部的な問題が発生し、SOAPはPDOExceptionを返そうとします。その後、クライアントは解析時にエラーを認識します。