Closed MeloAndroid closed 2 years ago
Hola @MeloAndroid,
Cierto, debería ser !is_null($receivingUnit)
, gracias por reportarlo.
Por otro lado, aún haciendo esa corrección, me encuentro con que el método (en el entorno de pruebas del portal) me devuelve siempre todas las facturas registradas
Sobre esto otro problema, parece que es cosa del webservice de FaceB2B que ya no hace caso al parámetro "receivingUnit". En el manual oficial viene este ejemplo de uso que confirma que debería funcionar:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:web="https://webservice.faceb2b.gob.es">
<soapenv:Header/>
<soapenv:Body>
<web:GetRegisteredInvoices>
<request>
<!--<receivingUnit>51558103JES0001</receivingUnit>-->
</request>
</web:GetRegisteredInvoices>
</soapenv:Body>
</soapenv:Envelope>
Sin embargo, algo han cambiado desde el Ministerio de Hacienda porque el WSDL actual ya no recoge este parámetro.
Hola,
En primer lugar quería agradecer el trabajo por crear esta librería.
En segundo lugar, creo que he encontrado un bug en la clase Face/Traits/Faceb2bTrait, ya que el parámetro opcional se añade al request SI ES NULL, cuando debería ser SI NO ES NULL
public function getRegisteredInvoices($receivingUnit=null) { $req = '<web:GetRegisteredInvoices><request>'; if (is_null($receivingUnit)) { $req .= '<receivingUnit>' . $receivingUnit . '</receivingUnit>'; } $req .= '</request></web:GetRegisteredInvoices>'; return $this->request($req); }
El
if (is_null($receivingUnit))
debería serif (!is_null($receivingUnit))
.Por otro lado, aún haciendo esa corrección, me encuentro con que el método (en el entorno de pruebas del portal) me devuelve siempre todas las facturas registradas, sin filtrar la unidad receptora indicada, es más me devuelve lo mismo aunque ponga un código de unidad inexistente, cualquier cosa. ¿es normal? entiendo que esto ya será más cosa del Servicio Web ¿puede que en producción no ocurra?
Saludos.