plsql显示不出来服务器,求救:PLSQL调用webservice服务器端获取不到值

我使用的是UTL_DBWS包去调用webservice。现在我测试可以通过调用,但是发现服务器端获取不到值我贴下我的代码:

create or replace procedure pro_trig_test

is

service_                   utl_dbws.SERVICE;

call_                      utl_dbws.CALL;

service_qname              utl_dbws.QNAME;

port_qname                 utl_dbws.QNAME;

operation_qname            utl_dbws.QNAME;

string_type_qname          utl_dbws.QNAME;

boolean_type_qname         utl_dbws.QNAME;

long_type_qname            utl_dbws.QNAME;

retx                       ANYDATA;

retx_string                VARCHAR2(1000);

retx_double                NUMBER;

retx_len                   NUMBER;

params                     utl_dbws.ANYDATA_LIST;

l_input_params             utl_dbws.ANYDATA_LIST;

l_result                   ANYDATA;

l_namespace                VARCHAR2(1000);

begin

--targetNamespace

l_namespace       := 'http://services.zenith.com';

--service name

service_qname     :=  utl_dbws.to_qname(l_namespace, 'testservice');

--wsdl url

service_          := utl_dbws.create_service(

wsdl_Document_Location => URIFACTORY.getURI('http://localhost:8080/testservices/services/testservice?wsdl'),

service_Name           => service_qname

);

operation_qname    := utl_dbws.to_QName(l_namespace,'saveObject');

--

call_              := utl_dbws.create_call(service_, null, operation_qname);

string_type_qname  := UTL_DBWS.to_qname('http://www.w3.org/2001/XMLSchema', 'string');

boolean_type_qname := UTL_DBWS.to_qname('http://www.w3.org/2001/XMLSchema', 'boolean');

long_type_qname := SYS.UTL_DBWS.to_qname('http://www.w3.org/2001/XMLSchema', 'long');

UTL_DBWS.add_parameter(call_, 'args0', string_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args1', string_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args2', long_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args3', string_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args4', long_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args5', string_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args6', string_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args7', string_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args8', string_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args9', string_type_qname, 'ParameterMode.IN');

UTL_DBWS.add_parameter(call_, 'args10', string_type_qname, 'ParameterMode.IN');

UTL_DBWS.SET_PROPERTY(call_, 'SOAPACTION_USE', 'TRUE');

UTL_DBWS.SET_PROPERTY(call_, 'SOAPACTION_URI', '');

UTL_DBWS.SET_PROPERTY(call_, 'ENCODINGSTYLE_URI', '');

UTL_DBWS.SET_PROPERTY(call_, 'OPERATION_STYLE', 'rpc');

l_input_params(0)          := ANYDATA.ConvertVarchar2('ceshi0');

l_input_params(1)          := ANYDATA.ConvertVarchar2('ceshi0');

l_input_params(2)          := ANYDATA.ConvertVarchar2(1234);

l_input_params(3)          := ANYDATA.ConvertVarchar2('ceshi0');

l_input_params(4)          := ANYDATA.ConvertVarchar2(2345);

l_input_params(5)          := ANYDATA.ConvertVarchar2('aa5');

l_input_params(6)          := ANYDATA.ConvertVarchar2('aa6');

l_input_params(7)          := ANYDATA.ConvertVarchar2('aa7');

l_input_params(8)          := ANYDATA.ConvertVarchar2('aa8');

l_input_params(9)          := ANYDATA.ConvertVarchar2('aa9');

l_input_params(10)        := ANYDATA.ConvertVarchar2('aa10');

utl_dbws.set_return_type(call_, boolean_type_qname);

retx                               := utl_dbws.invoke(call_, l_input_params);

retx_string                     := ANYDATA.AccessNVarchar2(retx);

dbms_output.put_line(retx_string);

UTL_DBWS.release_call (call_);

UTL_DBWS.release_service(service_);

end ;

***********************************************************************************************************************************************

调用方法:SQL>exec pro_trig_test;

调用结果:

begin pro_trig_test; end;

ORA-30625: 不允许以 NULL SELF 参数调度方法

ORA-06512: 在 "SCOTT.PRO_TRIG_TEST", line 78

ORA-06512: 在 line 1

服务器端未获取到值

******************************************

是不是要哪儿设置安全策略还是说我调用方法有问题啊?

求大神围观啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我猜测是不是需要什么安全策略设置才能访问?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值