微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

utl_dbws.ANYDATA_LIST类型初始化问题

同事希望通过Oracle发布的utl_dbws包调用Webservice,其中在invoke方法的使用时,出现了一些问题,

 l_input_params    UTL_DBWS.anydata_list;

 

l_result := QA_SOA.UTL_DBWS.invoke(call_Handle  => l_call,
                                            input_Params => l_input_params);

 

调用Webservice时,invoke方法要求传入参数input_Params,但是实际调用的Webservice中是无参的,因此问题出现在input_Params应该传什么值

传null报错,那么anydata_list类型的参数如何初始化呢?

仔细查看了UTL_DBWS包中anydata_list的定义,

TYPE ANYDATA_LIST IS TABLE OF ANYDATA INDEX BY BINARY_INTEGER;

不难发现,虽然有一个ANYDATA,但anydata_list其实也就是一个Table类型;

Table类型的初始化通常都是以下的形式,

 

CREATE OR REPLACE PROCEDURE  testss declare      TYPE varray_type IS VARRAY(50) OF VARCHAR2(10);  --定义类型      v1 varray_type; --定义未初始化的数组      begin      v1 := varray_type();--数组初始化      end;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐