gpt4 book ai didi

r - 在 R 中,如果我有 Web 服务的 WSDL 描述,我该如何调用它? (消费网络服务)

转载 作者:行者123 更新时间:2023-12-04 15:25:39 27 4
gpt4 key购买 nike

我不是 SOAP 和 WSDL 的专家,但我有 Perl 代码,我想将其移植到 R。

Perl 代码如下所示(来自 https://www.pharmgkb.org/resources/downloads_and_web_services.jsp):

use SOAP::Lite;
import SOAP::Data 'type';

sub main {
my $argcount = scalar (@ARGV);
if ($argcount != 1) {
print "usage: diseases.pl <PharmGKB accession id>\n";
exit -1;
}

# make a web services call to server
my $call = SOAP::Lite
-> readable (1)
-> uri('PharmGKBItem')
-> proxy('http://www.pharmgkb.org/services/PharmGKBItem')
-> searchDisease($ARGV[0]);

if ($call->fault) {
print $call->faultcode . ": " . $call->faultstring . "\n";
} else {
my $result = $call->result;

阅读了有关 rsoap 和 SSOAP 包的内容,但没有得到任何好的信息。
我需要的是全面支持,例如调用服务并提供库来解析输出。我更喜欢一些库而不是原始编码。我很擅长 XML 包,但对 RCurl 不太擅长。我认为 R 中对此没有好的和当前(积极维护的)支持是正确的?

最佳答案

查看 SSOAP OmegaHat 上的包装。它与 S 和 R 兼容。它甚至还有一个 genSOAPClientInterface用于将 WSDL 中的可用操作生成为 R 函数并为 WSDL 中描述的所有数据类型生成关联的 S4 类的函数。它利用 XML 和 RCurl(两者均由同一作者创建)。他提供了一个 directory full of examples非常有用PDF documentation .

我在使用 WSDL 时遇到了一些问题(并且仍在使用修改后的代码使其工作),但是如果遇到问题,包的作者非常有帮助并且对错误报告做出响应。

关于r - 在 R 中,如果我有 Web 服务的 WSDL 描述,我该如何调用它? (消费网络服务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9891472/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com