LaCollision Posted September 28, 2022 Share Posted September 28, 2022 Hi team, The Nexus VAT validation for EU business addresses seems to not work any longer. In \Tax::validateVAT at line 382: if ( $xml->read() ) { if ( $xml->name === 'soap:Envelope' and $xml->read() ) { if ( $xml->name === 'soap:Body' and $xml->read() ) { if ( $xml->name === 'checkVatResponse' ) { $xml->read(); do { $responseArray[ $xml->name ] = $xml->readString(); } while ( $xml->next() and $xml->nodeType !== $xml::END_ELEMENT ); } } } } The response from the EU service seems to have changed; the XML looks something like that: <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Header/> <env:Body> <ns2:checkVatResponse xmlns:ns2="urn:ec.europa.eu:taxud:vies:services:checkVat:types"> <ns2:countryCode>XX</ns2:countryCode> <ns2:vatNumber>XXXXXX</ns2:vatNumber> <ns2:requestDate>2022-09-28+02:00</ns2:requestDate> <ns2:valid>true</ns2:valid> <ns2:name>XXXXXX</ns2:name> <ns2:address>XXXXXX</ns2:address> </ns2:checkVatResponse> </env:Body> </env:Envelope> ➡️ The namespace is "env", and a <env:Header> tag seems to have appeared before the Body; so the $xml->read() can't find the Body element any longer. Thank you! Link to comment Share on other sites More sharing options...
Solution opentype Posted September 28, 2022 Solution Share Posted September 28, 2022 There was a patch for that this week. LaCollision 1 Link to comment Share on other sites More sharing options...
Jim M Posted September 28, 2022 Share Posted September 28, 2022 As mentioned by @opentype, we issued a patch for this. You can find it by going to ACP -> Support. LaCollision 1 Link to comment Share on other sites More sharing options...
LaCollision Posted September 28, 2022 Author Share Posted September 28, 2022 Perfect! Thanks a lot to both of you Jim M 1 Link to comment Share on other sites More sharing options...
Recommended Posts