+ -
当前位置:首页 → 问答吧 → oracle 调用 Web Services 报错

oracle 调用 Web Services 报错

时间:2011-09-08

来源:互联网

代码如下

CREATE OR REPLACE FUNCTION call_sayHello (username  IN  VARCHAR2)
  RETURN VARCHAR2
AS
  l_service  sys.UTL_DBWS.service;
  l_call     sys.UTL_DBWS.call;
  l_result   ANYDATA;

  l_wsdl_url        VARCHAR2(1024);
  l_service_name    VARCHAR2(200);
  l_operation_name  VARCHAR2(200);
  l_input_params    sys.UTL_DBWS.anydata_list;
  str_l_errmsg      VARCHAR2(4000);
BEGIN
  l_wsdl_url       := 'http://10.128.5.81:8080/facet/services/SoApplyService';
  l_service_name   := 'SoApplyService';
  l_operation_name := 'testValue';

  l_service := sys.UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
    service_name           => l_service_name);

  l_call := sys.UTL_DBWS.create_call (
    service_handle => l_service,
    port_name      => NULL,
    operation_name => l_operation_name);

  l_input_params(1) := ANYDATA.ConvertVarchar2(username);

  l_result := sys.UTL_DBWS.invoke (
    call_handle  => l_call,
    input_params => l_input_params);

  sys.UTL_DBWS.release_call (call_handle => l_call);
  sys.UTL_DBWS.release_service (service_handle => l_service);

  RETURN ANYDATA.AccessVarchar2(l_result);
EXCEPTION
  WHEN OTHERS THEN
    str_l_errmsg := sqlcode || ' ' || sqlerrm;
        --dbms_output.put_line (str_l_errmsg);
-----------------------------------------------------------------
错误:-29540 ORA-29540: 类 oracle/jpub/runtime/dbws/DbwsProxy 不存在

[ 本帖最后由 w252228767 于 2011-9-8 17:07 编辑 ]

作者: w252228767   发布时间: 2011-09-08

帮顶一下

作者: xuexueer125   发布时间: 2011-09-09

关注关注。

作者: T-Blue   发布时间: 2011-09-09