2

Spyne を使用して Python から Web サービスを提供しようとしています。SayHello(name, times) というテスト関数ですべてが機能しています。しかし、Spyne が名前と時間の引数を SayHello と呼ばれる complexType でラップするのはなぜでしょうか? これにより、.NET で Web サービスを使用することがより厄介になります (つまり、appClient.SayHello("Dave", 5)私がしなければならないSayHello args = new SayHello(); args.name = "Dave"; args.times = "5"; appClient.SayHello(args);ことは非常に洗練されていません)。

Spyne に引数を complexType でラップさせないようにする方法はありますか?

以下は、Spyne が生成する現在の wsdl の関連部分です。

<xs:schema targetNamespace="solutions.sfcs" elementFormDefault="qualified">
  <xs:complexType name="SayHello">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="times" type="xs:integer" minOccurs="0" nillable="true"/>
    </xs:sequence>
  </xs:complexType>
4

1 に答える 1

2

デコレータに渡し_body_style='bare'て、@rpcそのラッピングを防ぐことができます。しかし、ほとんどの場合、次のようになります。

Exception: body_style='bare' can handle at most one function argument.

他のテストを中断しない方法でこれを修正できる場合は、パッチをマージできます。

于 2013-03-26T01:57:14.293 に答える