2016-10-01 156 views
1

我需要使用到PHP的Web服務,我得到了錯誤的請求錯誤,SOAP客戶端錯誤錯誤的請求

這是我的代碼:

try{ 

    $client = new \SoapClient("http://54.88.59.192/Cashier/SwCashier.asmx?wsdl"); 
    $params = new \SoapVar('<?xml version="1.0" encoding="UTF-8"?><XMLTransaccion><DatosTransaccion><idTransaccion>06b09c6b-f9e3-4371-a3ef-4af947d2e488</idTransaccion><idServicio>0001</idServicio><tipoTransaccion>00</tipoTransaccion><fechaTransaccion>20160527015625</fechaTransaccion><usuarioRed>pagofacil</usuarioRed><passwordRed>123456PF</passwordRed><usuarioCaja>jperez</usuarioCaja><idCaja>0016</idCaja><idRed>6548</idRed></DatosTransaccion><DatosServicio><idCliente>[email protected]</idCliente><username>pepe</username><name>pepen</name><lastname>[email protected]</lastname></DatosServicio></XMLTransaccion>', XSD_ANYXML); 

    $res = $client->GetServiceTransaction($params); 
    $res->GetServiceTransactionResponse(); 
    var_dump($res); 

}catch(\soapFault $e){ 
    var_dump($e); 
} 

和數據應該由XML發送,這是要求:

<?xml version="1.0" encoding="UTF-8"?> 
<XMLTransaccion> 
    <DatosTransaccion> 
     <idTransaccion>06b09c6b-f9e3-4371-a3ef-4af947d2e488</idTransaccion> 
     <idServicio>0001</idServicio> 
     <tipoTransaccion>00</tipoTransaccion> 
     <fechaTransaccion>20160527015625</fechaTransaccion> 
     <usuarioRed>pagofacil</usuarioRed> 
     <passwordRed>123456PF</passwordRed> 
     <usuarioCaja>jperez</usuarioCaja> 
     <idCaja>0016</idCaja> 
     <idRed>6548</idRed> 
    </DatosTransaccion> 
    <DatosServicio> 
     <idCliente>[email protected]</idCliente> 
     <username>pepe</username> 
     <name>pepen</name> 
     <lastname>[email protected]</lastname>   
    </DatosServicio> 
</XMLTransaccion> 

回答

0

嘗試查看您的請求的有效性:

$客戶端=新\ SoapClient的(」 http://54.88.59.192/Cashier/SwCashier.asmx?wsdl「,array('trace'=> 1));

$ PARAMS =新\ SoapVar('GetServiceTransaction($ PARAMS);

回聲 「REQUEST:\ n」 個。$客戶端 - > __ getLastRequest() 「\ n」 個;

+0

不工作,我得到這個錯誤SoapVar :: SoapVar():無效的類型ID – franklin