当前位置: 首页 > 面试题库 >

从Oracle存储过程访问Web服务

史烨
2023-03-14
问题内容

是否有人从Oracle存储过程成功访问了Web服务?如果是这样,那是Java存储过程吗?PL / SQL存储过程?

有什么原因为什么我不应该尝试从存储的proc访问WS?

这是我到目前为止发现的几个参考

  • 数据库Web服务
  • 从Java存储过程调用外部Web服务

为了澄清,这是针对SOAP调用的


问题答案:

首先,您要调用哪种Web服务?我假设是SOAP或REST。

对于REST Web服务,在一个简单的PL / SQL存储过程中结合使用少量XPath,通常已经足够了UTL_HTTP。

对于SOAP
Web服务,这取决于您需要(或想要)的复杂程度。您当然可以使用XQuery创建一个符合Web服务规范的XML文档,使用UTL_HTTP发布该文档并获取响应,然后使用一些XPath在PL
/ SQL中解析所有响应。这是一个相对手动和相对蛮力的解决方案,但是如果您谈论的是少数Web服务,则它只需要最少的基础结构,并且呼叫可以很快地组合在一起。

如果您希望调用随着时间的推移而发展,或者希望有许多调用许多Web服务的过程,那么将时间花费在诸如UTL_DBWS之类的事情上可能是有意义的(不过,通常情况下,这不是什么事情)在几个小时内工作)。



 类似资料:
  • 本文向大家介绍php 访问oracle 存储过程实例详解,包括了php 访问oracle 存储过程实例详解的使用技巧和注意事项,需要的朋友参考一下 php 访问oracle 存储过程实例详解 比如我的本地Oracle数据库有一个package,里面有一个存储过程: 包名是PKG_TRANS_REL,存储过程是pro_GC_withdraw,这个存储过程有四个参数,两个入参,两个出参。 在PHP中通

  • 我可以在Oracle中通过ODBC执行一批存储过程吗?存储过程具有我使用参数标记绑定的输入参数。 在SQLServer中,我有这个功能,在DB2中,我只能进行批处理插入/更新,但我不能从ODBC/C代码批处理存储过程。 Oracle似乎支持插入语句的批处理,如果使用JDBC,也可以批处理存储过程。 是否可以做同样的事情,但使用对存储过程和ODBC的调用? 谢谢

  • 作为重构的一部分,我正在尝试将数据库调用更改为使用Spring 4.1.0。释放以处理连接和异常,并允许在函数和类之间传递结果集。 我的MS SQL Server存储过程调用工作正常,但当我尝试执行Oracle存储过程时,收到以下错误消息: 我通过编写两个非常简单的写入测试表的存储过程来简化问题:一个接受参数并写入,另一个不接受参数,只写入硬编码值。这些过程位于INV模式中,这是我的数据源配置使用

  • 我正在开发一个web应用程序,作为与Google云存储(GCS)的接口。 我正在使用后端服务来检索我存储在GCS上的文件列表及其使用JSON API的URL,并将其返回到我的Web应用程序。然而,我真的无法通过这些URL加载文件,总是返回403禁止。 我不确定GCS身份验证在幕后是如何工作的,也不确定是否可以直接授予对网络应用程序的访问权限。我不确定如何通过超文本传输协议请求附加应用程序鉴别信息。

  • 我正在尝试编写一个Java程序,将Vault导出数据下载到Google云存储桶中,因为导出数据在两周后被删除。Vault数据与典型的GCS存储桶和对象标识关联,因此可能存储在GCS中。似乎有两个Java客户端库,com。谷歌。云存储和com。谷歌。应用程序编程接口。服务。存储,它似乎完成了我需要的功能,但以不同的方式工作,并使用不同的身份验证源(凭据对象)。如果我使用com。谷歌。应用程序编程接口

  • 为了更清楚地说明,我明白最终必须有人被信任。例如,ops工程师可以拥有自己的凭据来访问Vault,并获得相同数据库的密码。这将允许用户访问,但不允许该用户模拟服务。是否有任何理由ops工程师也应该知道服务自己的凭据,以便在初始化后访问保险库?