2016-04-26 119 views
2

我已经创建了一个SOAP服务(使用spyne)。我在服务器端使用了python。我有一个非常好的python客户端。但是,我想在perl脚本中重用从服务器获得的输出(不能使用python)。 一种可能的方法是从Perl中调用python客户端并捕获STDOUT。 但是,如果我可以编写一个简单的perl客户端来获得结果,那就太好了。我在this之后编写了一个SOAP简单的perl客户端,但是我的代码没有打印任何内容。SOAP webservice:Python服务器和perl客户端

my $soap = SOAP::Lite->new(); 
my $service = $soap -> service($URL); 
print Dumper($service -> serverFunction($arg1,$arg2)); 

Here我发现了一个关于Perl服务器和Python客户端的讨论。

那么,有可能有一个Python服务器和Perl的客户端?

回答

1

是的,这是可能的,但它是SOAP。请参阅SOAP::Simple的通知:

让我们面对现实吧。 SOAP是痛苦的。这是一个愚蠢的想法,你应该考虑使用SOAP的唯一原因是,如果有人拿着枪到你的头上或者为你付了很多钱。

如果你想建立一个API并且同时控制服务器和客户端:尽可能避免使用SOAP。考虑切换到JSON或基本的HTTP API。

如果你想保留SOAP,我建议尝试SOAP::Simple,它可能比SOAP :: Lite更好。还有SOAP模块,但对于您的使用情况可能太重了。你可能想在你的问题中包含更多细节(例如你试过的代码)以获得更具体的答案。

+0

我会看看SOAP :: Simple,稍后再回来。顺便说一句,我试着在我的问题链接中提到的确切代码。在这里写硬编码是绝对必要的吗? – Abhishek