2

I am experimenting with several different Python SOAP server libraries, and I don't seem to be able to get the 'hello world' example working for spyne: https://github.com/arskom/spyne/blob/master/examples/helloworld_soap.py

When I run it, it starts up a SOAP server and I can successfully view the WSDL in a browser at http://localhost:7789/?wsdl. However, when I try to connect with a suds client, I get an exception:

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from suds.client import Client
>>> c = Client('http://localhost:7789/?wsdl')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/acordiner/ve/local/lib/python2.7/site-packages/suds/client.py", line 112, in __init__
    self.wsdl = reader.open(url)
  File "/home/acordiner/ve/local/lib/python2.7/site-packages/suds/reader.py", line 152, in open
    d = self.fn(url, self.options)
  File "/home/acordiner/ve/local/lib/python2.7/site-packages/suds/wsdl.py", line 158, in __init__
    self.resolve()
  File "/home/acordiner/ve/local/lib/python2.7/site-packages/suds/wsdl.py", line 207, in resolve
    c.resolve(self)
  File "/home/acordiner/ve/local/lib/python2.7/site-packages/suds/wsdl.py", line 661, in resolve
    self.resolveheaders(definitions, op)
  File "/home/acordiner/ve/local/lib/python2.7/site-packages/suds/wsdl.py", line 725, in resolveheaders
    raise Exception, "message'%s', not-found" % mn
Exception: message's0:SomeObject', not-found

What could I be doing wrong? I'm using spyne 2.9.4 and suds 0.4.

4

1 に答える 1

6

この混乱をお詫び申し上げます。

リンクした例は次のとおりです

これは、自分のバージョンの sudsで修正された suds バグを説明するために使用されましたが、主流の suds では修正されていません。後でメインの Spyne リポジトリに戻すのを忘れました。

関連するコミットはこちらで見つけることができます。

Suds は、名前空間がtargetNamespace. SomeObject.__namespace__ = 'spyne.examples.hello.soap'の代わりに設定することで、あなたのバージョンの suds を機能させることができます'aaa'

とにかく、helloworldの例では場違いな送信ヘッダー宣言を削除することもできます。

これが役立つことを願っています。

于 2013-03-01T11:06:24.520 に答える