我正在使用本机 Oracle XML DB Web 服务(使用带有 Web 服务的 PL/SQL 函数)。我想删除空值(在输出中什么都不放(没有 XML 元素))。它适用于 Oracle 11.2.0.1.0,但不适用于 Oracle 11.2.0.3.0。
澄清一下...我不想使用 PL/SQL 使用 Web 服务,我想将我的 PL/SQL 包/过程/函数发布为 Web 服务!
希望可以有人帮帮我。谢谢你。
在此示例中,列“国家”为空。
Oracle 11.2.0.1.0(这就是我想要的):
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GET_PERSONOutput xmlns="http://xmlns.oracle.com/orawsv/TESTSTUFF/GET_PERSON">
<RETURN>
<PERSON>
<PERSON_ID>3</PERSON_ID>
<FIRST_NAME>Harry</FIRST_NAME>
<LAST_NAME>Potter</LAST_NAME>
</PERSON>
</RETURN>
</GET_PERSONOutput>
</soap:Body>
</soap:Envelope>
甲骨文 11.2.0.3.0:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GET_PERSONOutput xmlns="http://xmlns.oracle.com/orawsv/TESTSTUFF/GET_PERSON">
<RETURN>
<PERSON>
<PERSON_ID>3</PERSON_ID>
<FIRST_NAME>Harry</FIRST_NAME>
<LAST_NAME>Potter</LAST_NAME>
<COUNTRY/>
</PERSON>
</RETURN>
</GET_PERSONOutput>
</soap:Body>
</soap:Envelope>