同事希望通过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] 举报,一经查实,本站将立刻删除。