5, 如果未发现UTL_DBWS(可以在plsql中敲入sys.若未有utl_dbws显示,则需要进行初始化),需要运行之前下载的包中dbws-callout-utility-10131/sqlj/lib/ utl_dbws_body.sql及utl_dbws_decl.sql
6, 编写sql函数并发布
create or replace function FUNC_GENERATE_LOGINNAME(content VARCHAR2,cellNumber VARCHAR2,sender 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;
l_xmltype_in SYS.XMLTYPE;
l_xmltype_out SYS.XMLTYPE;
BEGIN
l_wsdl_url := 'http://xxxx.xxxx.xxxx.xxxx:xxxx/project/axis/services.jws?wsdl';
l_service_name := 'servicesService';
l_operation_name := 'sendMessage';
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(content);
l_input_params(2) := ANYDATA.ConvertVarchar2(cellNumber);
l_input_params(3) := ANYDATA.ConvertVarchar2(sender);
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
RETURN substr(sqlerrm, 0, 2000);
END FUNC_GENERATE_LOGINNAME;
7,看结果select func_generate_loginname('testTest','1234567','xxxxxx') from dual;
ps:对于其中出现的异常,最可能的就是出现权限不足,可以利用如下语句解决:
begin
dbms_java.grant_permission( 'DZZWPT', 'SYS:java.lang.RuntimePermission', 'getClassLoader', '' );
dbms_java.grant_policy_permission('DZZWPT','SYS','java.io.FileP ermission','*');
---dbms_java.grant_permission( 'DZZWPT','SYS:java.lang.IllegalAccessException','getClassLoader', '' );
dbms_java.grant_permission( 'DZZWPT', 'SYS:java.lang.RuntimePermission', 'accessClassInPackage.sun.util.calendar', '' );
dbms_java.grant_permission( 'DZZWPT', 'SYS:java.lang.RuntimePermission', 'setFactory', '' );
dbms_java.grant_permission( 'DZZWPT', 'SYS:java.util.PropertyPermission', 'HTTPClient.socket.idleTimeout', 'write' );
dbms_java.grant_permission( 'DZZWPT', 'SYS:java.net.SocketPermission', 'localhost', 'resolve' );
dbms_java.grant_permission( 'DZZWPT', 'SYS:java.net.SocketPermission', '192.168.21.203:80', 'connect,resolve' );
dbms_java.grant_permission( 'DZZWPT', 'SYS:java.lang.RuntimePermission', 'createClassLoader', '' );
end;
相关推荐
### Oracle调用WebService接口地址Demo解析 #### 一、引言 在企业级应用开发中,不同系统间的集成与通信尤为重要。Oracle数据库作为一款广泛使用的数据库管理系统,支持多种方式与其他系统进行交互,其中通过调用...
#### 2.3 客户端调用Web服务 该章节解释了客户端如何访问和调用部署在Oracle Application Server上的Web服务。内容涵盖: - 如何生成客户端代码以调用特定的Web服务。 - 如何处理Web服务响应并将其转换为可用的数据...
总的来说,从PLSQL调用Web服务涉及了数据库编程、网络通信和Web服务交互等多个领域的知识,需要对Oracle的UTL_HTTP包、Java在Oracle中的运行机制以及Web服务的AXIS2框架有深入的理解。通过这样的集成,你可以实现...
在本示例中,我们将深入探讨如何利用UTL_HTTP包来调用Web Service,这是一个非常实用的功能,允许你在数据库内部直接与外部Web Service进行交互。 UTL_HTTP是Oracle提供的一种内置包,它提供了HTTP协议的客户端功能...
在Java Swing应用中调用WebServices,可以实现从桌面应用获取远程数据或服务的功能。这通常涉及以下步骤: 1. 创建一个客户端代理类,该类将调用WebService的方法。这可以通过WSDL(Web Services Description ...
这包括创建、发布和调用Web服务的过程,以及如何确保Web服务的安全性和可靠性。此外,书中还介绍了如何使用PHP与Oracle实现RESTful Web服务。 #### 七、Ajax技术 Ajax技术使得Web应用程序能够提供更加流畅的用户...
Web Services是实现SOA的一种常见技术,通过XML、SOAP、WSDL等标准来封装、发布、发现和调用服务。本主题将深入探讨SOA与Web Services之间的关系,以及如何利用它们构建可扩展、灵活且互操作性强的系统。 首先,...
Oracle调用Web Service是实现这种交互的关键技术。 在Oracle中,调用Web Service主要依赖于Oracle的集成开发环境(IDE)如Oracle JDeveloper,以及其内置的Web Service客户端工具。下面我们将详细探讨这个过程: 1...
附件文档以QQ在线WEBAPI接口为例,使用ORACLE UTL包以GET方式调用WEBAPI,希望对想用数据方式调用WEBAPI接口的同仁们有帮助。
2. RESTful API:使用HTTP方法(GET、POST、PUT、DELETE)与Oracle交互,构建RESTful风格的服务,利于前端JavaScript等技术直接调用。 四、数据库设计与优化 1. 规范化设计:遵循第一范式到第五范式,减少数据冗余...
- **标准至上**:XML 和 Web Services 成为关键的技术标准。 ##### 3. Oracle Forms 的未来方向 - **与 Oracle 9i AS 的集成**:Oracle Forms 与 Oracle 9i AS 的集成越来越紧密,如单点登录、企业级管理等功能。 ...
"Oracle调用WSDLService.zip"这个压缩包就是关于如何利用Oracle数据库直接调用Web服务的一个实例,主要涉及Oracle数据库与WSDL(Web Services Description Language)的集成,以及SOAP(Simple Object Access ...
此外,XML得到了众多软件供应商的支持,如SAP、PeopleSoft、Siebel、Oracle、Ariba和Microsoft,这进一步推动了Web Services的发展。 【SOAP与HTTP】 SOAP协议构建在HTTP之上,利用HTTP的传输能力,确保了Web ...
随着Web Services的广泛应用,Oracle也提供了相应的技术支持,让开发人员能够通过PL/SQL直接调用Web Services。这篇文章主要探讨如何在Oracle环境中,利用PL/SQL的UTL_DBWS包来访问Web Services。 在Oracle 9i版本...
"webservices jar包"正是这样一个集合,包含了支持Web服务开发所需的多个组件。 在Java中,最常见的Web服务标准有SOAP(Simple Object Access Protocol)和REST(Representational State Transfer)。SOAP是一种...
WSDL(Web Services Description Language)是一种 XML 格式的文档,用于描述 Web 服务的接口和绑定。WSDL 包含三个主要部分: - **接口(Interface)**:定义了服务的抽象操作和消息。 - **绑定(Binding)**:指定...
标题“wsit-webservices-1”和描述“wsit-webservices-1.zip”暗示了我们正在讨论一个与Web服务相关的项目或者软件包,很可能是一个用于开发和部署Web服务的工具集。"wsit"可能代表“Web Services Interoperability ...
Metro WebServices 是一种由Sun Microsystems(现为Oracle的一部分)开发的Java平台上的Web服务堆栈,它提供了全面的工具和技术来创建、部署和管理高质量的Web服务。这个示例将帮助我们深入理解如何使用Metro来构建...
Java开发者使用WSDL来理解如何调用Web服务,JAX-WS提供了wsimport工具,可以从WSDL生成客户端和服务端的Java代码。 三、UDDI(统一描述、发现和集成) UDDI是Web服务目录的标准,使得服务消费者可以查找并了解可用...