2013-08-07 55 views
1

我對SOAP和Web服務頗爲陌生,並且試圖創建工作和穩定的SOAP環境。經過一些閱讀後,我決定使用泡沫客戶端和soaplib服務器。 我使用的是python2.7,我已經使用easy_install安裝了suds和soaplib,所以它是程序的默認組合。操作系統是Ubuntu的最新13python中的SOAP解決方案

我已經創建了一個基於教程程序hello_world例如2個腳本: http://soaplib.github.io/soaplib/2_0/pages/helloworld.html

一些細微的變化後:

  • 在服務器
  • 將加入from soaplib.core.service import soap服務名稱hello_client = Client('http://localhost:7789/HelloWorldService?wsdl')在客戶端

I得到了一個可以運行服務器(端口很忙)的工作解決方案,並且在使用say_hello函數後,suds客戶端給了我一個返回的信息。

問題是我無法在此服務器中使用示例中使用的定義創建新方法。即使是簡單的從say_hello到say_hello2改變名字給我的錯誤:未找到方法: suds.MethodNotFound「Application.Application.say_hello2」

請幫我解決這個問題:)

我在想其他也是。 sopalib自2010年以來似乎不活躍,也許這裏存在一些問題?也許有比SUDS + soaplib更好,更快,更高效的SOAP連接解決方​​案?如果是這樣,請給我一些建議。

感謝您的幫助 邁克

回答

1

好像問題是由於泡沫,緩存

from suds.client import Client 
hello_client = Client('http://localhost:7789/HelloWorldService?wsdl') 

hello_client.options.cache.clear() #make this line 

result = hello_client.service.say_hello2(...) # parameters inside 
+0

更多信息請點擊這裏https://fedorahosted.org/suds/wiki/Documentation#PERFORMANCE –