проект сделан в laravel, вызов через SOAP к веб-сервису в java, используя дополнение nusoap
$factura=Facturas::find($id);
$folio=$factura->folio.'L';
$dataws=[
'serie'=>$factura->serie,
'folio'=>intval($folio),
'rfcRecibido'=>$factura->distribuidor->rfc,
'key'=>'xxxx-xxxx-xxx-xxxx-xxxx'
];
$websc = new nusoap_client('https://portal3.xsa.com.mx/xsamanager/services/CancelCFDService');
$error = $websc->getError();
при вызове функции cancelCFD
$result = $websc->call('cancelaCFD', $dataws);
if ($websc->fault) {
echo '<h3>Error</h3><pre>';
print_r($result);
echo '</pre>';
echo response()->json(array('success'=>false,'codigo'=>$result));
}
WS отправляет это
{"faultcode":"soap:Client","faultstring":"Illegal argument invoking 'com.tralix.xsa.manager.cancel.ws.ICancelService.cancelaCFD(java.lang.String, java.lang.Long, java.lang.String, java.lang.String)': java.lang.ClassCastException@40751341"}}
как сделать целочисленное значение (фолио) длинным
Задача ещё не решена.
Других решений пока нет …