oracle调用webservice
2009-04-28 11:18
295 查看
有个项目需要用数据库调用webservice,找了很多都不行。按照上面的安装了包,也执行了数据库脚本。然后用下面这段代码调用,总是报错:
[color=#FF0000]ORA-29532: Java 调用被未捕获的 Java 异常错误终止: serialization error: java.lang.IllegalArgumentException: getSerializer requires a Java type and/or an XML type[/color]
跟踪进去看调用的返回值变量l_service等都是负数。 网上都是这样代码,其他的也找不到了。create or replace function FUNC_GENERATE_LOGINNAME(xmlstring VARCHAR2)
return VARCHAR2
AS
l_service utl_dbws.SERVICE;
l_call utl_dbws.call;
l_result ANYDATA;
l_wsdl_url VARCHAR2(1024);
l_service_name VARCHAR2(200);
l_operation_name VARCHAR2(200);
l_input_params UTL_DBWS.anydata_list;
BEGIN
l_wsdl_url := 'http://192.168.2.67:88/TaskList.asmx?wsdl';
l_service_name := 'TaskList';
l_operation_name := 'GetCurrentTask';
l_service := UTL_DBWS.create_service(wsdl_document_location=>URIFACTORY.getURI(l_wsdl_url),service_name=>l_service_name);
l_call := UTL_DBWS.create_call(service_handle=>l_service,port_name=>NULL,operation_name=>l_operation_name);
l_input_params(0) := ANYDATA.ConvertVarchar2(xmlstring);
l_result := UTL_DBWS.invoke(call_handle=>l_call,input_params=>l_input_params);
UTL_DBWS.release_call (call_handle=>l_call);
UTL_DBWS.release_service (service_handle=>l_service);
RETURN ANYDATA.AccessVarchar2(l_result);
EXCEPTION
WHEN OTHERS THEN
RETURN substr(sqlerrm,0,2000);
END FUNC_GENERATE_LOGINNAME;
[color=#FF0000]ORA-29532: Java 调用被未捕获的 Java 异常错误终止: serialization error: java.lang.IllegalArgumentException: getSerializer requires a Java type and/or an XML type[/color]
跟踪进去看调用的返回值变量l_service等都是负数。 网上都是这样代码,其他的也找不到了。create or replace function FUNC_GENERATE_LOGINNAME(xmlstring VARCHAR2)
return VARCHAR2
AS
l_service utl_dbws.SERVICE;
l_call utl_dbws.call;
l_result ANYDATA;
l_wsdl_url VARCHAR2(1024);
l_service_name VARCHAR2(200);
l_operation_name VARCHAR2(200);
l_input_params UTL_DBWS.anydata_list;
BEGIN
l_wsdl_url := 'http://192.168.2.67:88/TaskList.asmx?wsdl';
l_service_name := 'TaskList';
l_operation_name := 'GetCurrentTask';
l_service := UTL_DBWS.create_service(wsdl_document_location=>URIFACTORY.getURI(l_wsdl_url),service_name=>l_service_name);
l_call := UTL_DBWS.create_call(service_handle=>l_service,port_name=>NULL,operation_name=>l_operation_name);
l_input_params(0) := ANYDATA.ConvertVarchar2(xmlstring);
l_result := UTL_DBWS.invoke(call_handle=>l_call,input_params=>l_input_params);
UTL_DBWS.release_call (call_handle=>l_call);
UTL_DBWS.release_service (service_handle=>l_service);
RETURN ANYDATA.AccessVarchar2(l_result);
EXCEPTION
WHEN OTHERS THEN
RETURN substr(sqlerrm,0,2000);
END FUNC_GENERATE_LOGINNAME;
相关文章推荐
- C#调用Oracle ebs生成Webservice,加用户名密码验证
- 简单的随笔 ,WSDL工具,Oracle备份还原,java调用.net webservice
- Oracle使用DBWS调用SSL/HTTPS的Webservice方法
- oracle plsql调用webservice
- Oracle调用webservice说明
- oracle 调用webservice
- C# 调用 WebService 连接ORACLE 11g
- Oracle调用webservice说明
- Python安装cx_Oracle模块和suds.client模块调用webservice服务
- 调用Oracle EBS Webservice常见的几个错误
- C# 不加web引用,动态调用webservice
- MFC调用短信(webservice)接口
- NET动态调用WebService
- axis客户端调用jws发布的webservice要5分钟才能返回问题解决
- Resin启动Webservice客户端,调用Webservice服务报property "javax.xml.stream.supportDTD" not supported错误
- 上一篇,在Websphere上使用Axis做的客户端调用Webservice要进行修改配置的原因
- jsp中调用Bean,然后在Bean中调用oracle存储过程。
- axis2开发并调用webservice
- SSIS下调用oracle存储过程
- [BTS]Java调用.net webservice