0

pysimplesoapを使用してWebsitepanelSOAP-APIと通信しようとしています。WebsitePanelAPIの概要は次のように述べています。

WebsitePanel APIと対話するには、基本認証を使用する必要があります。WebsitePanelは、次の形式で提供されるユーザー資格情報を使用して「Authorization」ヘッダーを認識します。username:password

私の最初の試みは次のとおりでした:

client = SoapClient(wsdl=endpoint_url, trace=True)
client['Authorization'] = "%s:%s" % (username, password)

これは401「Unauthorized」を返します。2番目の試みは:

client = SoapClient(wsdl=endpoint_url, trace=True)          
client['wsse:Security'] = {
    'wsse:UsernameToken': {
        'wsse:Username': username,
        'wsse:Password': password,
    }
}    

これは期待どおりに機能しますが、次を返します。

status: 500
content-length: 924
x-aspnet-version: 4.0.30319
x-powered-by: ASP.NET
server: Microsoft-IIS/7.5
cache-control: private
date: Tue, 12 Feb 2013 14:23:56 GMT
content-type: text/xml; charset=utf-8

pysimplesoap.client.SoapFault: q0:Security: SOAP response should be signed.

なぜ機能しないのですか?エラーメッセージclient['Authorization']の意味は何ですか?Response should be signed

前もって感謝します。

4

1 に答える 1

3

私はそれを理解しました:pysimplesoapで正しく認証するには、電話する必要があります

client = SoapClient(wsdl=u, trace=True, 
                    http_headers={'Authorization': 'Basic %s' % encoded})

encodedbase64でエンコードされた文字列をビーイングしますusername:password

于 2013-02-14T14:15:48.387 に答える