2016-10-01 185 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