Похоже, что проблема связана с тегом "soap: Fault" .. система не смогла распознать тег.
Поскольку с этим конкретным кодом вы можете получить результат ..
SELECT xmltype('
<soap xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soap:Client</faultcode>
<faultstring>No existe la referencia del codigo de Hospital Publico.</faultstring>
<detail>
<Error xmlns="SSoapException">
<ErrorNumber>REF17</ErrorNumber>
<ErrorMessage>No existe la referencia del codigo de Hospital Publico.</ErrorMessage>
</Error>
</detail>
</soap>
').extract('soap/faultstring/text()').getstringval()
FROM dual;
результат равен
No existe la referencia del codigo de Hospital Publico.
Таким образом, в качестве обходного пути вы можете использовать приведенный ниже код ...
SELECT xmltype(replace('
<soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soap:Client</faultcode>
<faultstring>No existe la referencia del codigo de Hospital Publico.</faultstring>
<detail>
<Error xmlns="SSoapException">
<ErrorNumber>REF17</ErrorNumber>
<ErrorMessage>No existe la referencia del codigo de Hospital Publico.</ErrorMessage>
</Error>
</detail>
</soap:Fault>
','soap:Fault','new_tag')).extract('new_tag/faultstring/text()').getstringval()
FROM dual;
и результат будет
No existe la referencia del codigo de Hospital Publico.
Здесь я заменяю тег «soap: Fault» новым тегом, а затем извлекаю значение ..
Возможно, это не идеальный подход ... но он будет работать ..;)