2016-04-26 120 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