是否可以使用 PL/SQL 将 Sharepoint Webservices(基于 SOAP)消费到 ORACLE DB 中
我们需要将 Sharepoint 列表数据存储到 Oracle 中。
是否可以使用 PL/SQL 将 Sharepoint Webservices(基于 SOAP)使用到 ORACLE DB 中,例如访问 _vti_bin/lists.asmx?op=GetList 并解析列表数据并将其存储在数据库中。
有人试过这个吗???在深入研究这条路线之前,有什么事情(安全、环境)需要考虑吗?
我认为 PL/SQL 支持调用 Web 服务并解析 XML 以存储在数据库中。
感谢帮助!
We have a requirement to store Sharepoint List Data into Oracle.
Is it possible to Consumes Sharepoint Webservices(SOAP-based) into ORACLE DB using PL/SQL, like to access _vti_bin/lists.asmx?op=GetList and parse the list data and store in the DB.
Has anybody tried this ??? Are there any things (Security, environment) things to consider before diggin into this route??
I think PL/SQL has the support to call Web services and parse the XML to store in the DB.
Help is appreciated !!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
应该是可能的(不确定 Sharepoint Web 服务是否是非标准的)。根据您的数据库版本,这里有 2 篇文章展示了如何通过 PLSQL 调用 SOAP Web 服务:
Oracle 9i 及更高版本:
http://www.oracle-base.com/articles/9i/ConsumingWebServices9i。 Oracle 10g 及更高版本
:
http://www.oracle-base.com/articles/10g/utl_dbws10g。 php
It should be possible (not sure if any of the Sharepoint Webservices are non-standard). Depending on your database version here are 2 articles that show how to call a SOAP webservice via PLSQL:
Oracle 9i and higher:
http://www.oracle-base.com/articles/9i/ConsumingWebServices9i.php
Oracle 10g and up:
http://www.oracle-base.com/articles/10g/utl_dbws10g.php
由于标准 Sharepoint Web 服务使用起来很麻烦(原始 CAML 非常邪恶......),并且您可能会遇到安全/授权问题,因此我可以建议以下内容:
简而言之,使用 Microsoft 工具和工具技术来创建您自己的简化服务,然后使用 PL/SQL 与之对话。
Since the standard Sharepoint web services can be a pain to work with (raw CAML is pretty evil...), and you may have security/authorization issues, may I suggest the following:
In short, use Microsoft tools & technologies to create your own, simplified service, and then use PL/SQL to talk with that.
这里有一个用于 PL/SQL 的 NTLM 实现,它(与 UTL_HTTP 结合)将允许您直接从 PL/SQL 调用 Sharepoint Web 服务:
http://ora-00001.blogspot.com/2011/08/ntlm-for-plsql.html
请注意,如果您的网站使用 HTTPS,您还需要设置 Oracle Wallet,并在 HTTP 调用中使用它。
There is an implementation of NTLM for PL/SQL here, which (in combination with UTL_HTTP) will allow you to call Sharepoint Web Services directly from PL/SQL:
http://ora-00001.blogspot.com/2011/08/ntlm-for-plsql.html
Note that if your site uses HTTPS, you need to set up an Oracle Wallet, too, and use that in your HTTP calls.
根据Oracle关于UTL_HTTP的文档,设置的身份验证仅支持BASIC HTTP和Amazon S3类型,因此NTLM是不可能的。
http://download.oracle.com/docs /cd/E11882_01/appdev.112/e16760/u_http.htm#sthref16700
在我看来,“最佳”方法是创建另一个充当包装器并允许基本或匿名访问的 Web 服务。
According to the Oracle documentation on UTL_HTTP, the set authentication only supports BASIC HTTP and Amazon S3 types, so NTLM is out of the question.
http://download.oracle.com/docs/cd/E11882_01/appdev.112/e16760/u_http.htm#sthref16700
It seems to me that the "best" approach is to create another web service that acts a wrapper and allows for either basic or anonymous access.