龙空技术网

ORACLE解析SOAP型XML各种乱入,什么时候软件用中文编写

狂野的呼喊 65

前言:

现时我们对“oracle读取xml字符串”大体比较注意,我们都想要学习一些“oracle读取xml字符串”的相关内容。那么小编在网上收集了一些有关“oracle读取xml字符串””的相关文章,希望姐妹们能喜欢,大家一起来了解一下吧!

什么时候软件用中文写成,就不会有各种中文乱码了!!!

ORACLE解析SOAP报文异常:

ORA-31011: XML parsing failed

ORA-19202: Error occurred in XML processing

LPX-00210: expected '<' instead of '?'

报文样例:

<SOAP-ENV:Envelope xmlns:SOAP-ENV=";>

<SOAP-ENV:Header/>

<SOAP-ENV:Body>

<m:REC_SO_OUTPUT xmlns:m=";>

<h:SERVICE_NAME>aaa</h:SERVICE_NAME>

报错sql:

select extractvalue(xmltype(resp_msg),'/SOAP-ENV:Envelope/SOAP-ENV:Body/m:REC_SO_OUTPUT /h:SERVICE_NAME/text()') from tab_msg;

正确打开方式:

extract(xmltype(resp_msg),'/SOAP-ENV:Envelope/SOAP-ENV:Body/m:REC_SO_OUTPUT /h:SERVICE_NAME/text()',

'xmlns:SOAP-ENV="; xmlns:m=";')

这种方式会有中文乱码,加.getStringVal()解决:

extract(xmltype(resp_msg),'/SOAP-ENV:Envelope/SOAP-ENV:Body/m:REC_SO_OUTPUT /h:SERVICE_NAME/text()',

'xmlns:SOAP-ENV="; xmlns:m=";').getStringVal()

ORA-30625: method dispatch on NULL SELF argument is disallowed

xml解析用到了oracle对象,但是如果对象为空,再调用成员方法,就会报这个错:

clobaaa.extract('','').getStringVal()

标签: #oracle读取xml字符串 #oracle表备注乱码 #oracle字段备注乱码 #oracle xml函数 #centosoracle启动乱码