Python Sudsを使用してSOAP呼び出しを作成しようとしています。 WSDLを正常にインポートすると、生成されたクライアントは整形式に見えますが、メソッドにアクセスすることはできません。Python/Sudsを使用して名前にドットを含むSOAPメソッドを呼び出す
Suds documentationは、方法は次のように呼び出しを説明します。
client.service.Company.GetQueue()
しかし、私はこれのすべてのバリエーションを得るすべては次のとおりです。
suds.MethodNotFound:メソッドなし が見つかりました: 'OmnitureWebService.OmnitureWebServicePort.Company'
私が作成したクライアントの変数ダンプです。そこにメソッドがあるのがわかりますが、どうすればアクセスできますか?プレフィックスを指定してポートを指定しようとしましたが、何も動作していないようです。これに助けてくれてありがとう。
> obj._ServiceSelector__client = Suds (
> https://fedorahosted.org/suds/)
> version: 0.4 GA build: R699-20100913
>
> Service (OmnitureWebService)
> tns="http://www.omniture.com/"
> Prefixes (2)
> ns0 = "http://schemas.xmlsoap.org/soap/encoding/"
> ns1 = "http://www.omniture.com/" Ports (1):
> (OmnitureWebServicePort)
> Methods (173):
> CodeManager.DeleteCodeArchive(xs:int
> archive_id,)
> CodeManager.GenerateCode(xs:string
> char_set, xs:string code_type, xs:int
> cookie_domain_periods, xs:string
> currency_code, xs:string rsid, xs:int
> secure,)
> CodeManager.GetCodeArchives(int_array
> archive_id_list, xs:string
> binary_encoding, xs:int
> populate_code_items,)
> CodeManager.SaveCodeArchive(xs:string
> archive_description, xs:int
> archive_id, xs:string archive_name,
> code_items code,)
> Company.CancelQueueItem(xs:int qid,)
> Company.DownloadProduct(productType
> productType,)
> Company.GetEndpoint(xs:string company,
>)
> Company.GetQueue()
> Company.GetReportSuites(string_array
> rs_types, xs:string sp,)
> Company.GetTokenCount()
> Company.GetTokenUsage()
> Company.GetTrackingServer(xs:string
> rsid,)
> Company.ResetTokenCount(xs:string
> auth_key,)
wowowow。私はこれを数日間やろうとしています。投稿していただきありがとうございます。 – JiminyCricket
@JiminyCricketありがとうございます。私はkfedがこれを答えとして受け入れることを望んでいます。私は、WSDLを編集せずにそれを行うより良い方法があるかどうかはわかりません。 – FlipMcF