0

簡単なはずの作業に完全に迷ってしまいます。

Python と SUDS を使用して、WSDL URL を取得し、クライアント オブジェクトを作成し、いくつかの情報を変更してから、WSDL をバックアップしてポストしようとしています (または、ポストするように指示された場所)。

次のエラー メッセージが表示されます。

Traceback (most recent call last):
    File "./test.py", line 47, in <module>
    email_sent = client.service.sendEmail(From, SenderContext, Email)
NameError: name 'client' is not defined

コードの "Try:" セクションを削除し、come print コードを挿入してオブジェクトを印刷すると、すべて正常に動作します。情報を取得し、必要な変更を行います。

私が理解していないのは、クライアント オブジェクトが作成され、情報をバックアップしようとしているが、できないということです。XML と Python の経験がある人はいますか?

import sys

import logging
import traceback as tb
import suds.metrics as metrics
import unittest
from suds import null, WebFault
from suds.client import Client

def sendTestMail():
    url = 'wsdl url at my company'
    client = Client(url)

    SenderContext = client.factory.create('senderContext')
    SenderContext.registeredSenderId = 'Endurance'
    SenderContext.mailType = 'TRANSACTIONAL_OTHER'
    SenderContext.subSenderId = 12345

    From = client.factory.create('emailAddressBean')
    From.address = 'me@somecompany.com'
    From.valid = 'TRUE'

    Email = client.factory.create('email')
    Email.recipients = 'me@somecompany.com'
    Email.ccRecipients = ''
    Email.bccRecipients = ''
    Email.agencyId = ''
    Email.content = 'This is a test of sending'
    Email.contentType = 'text/plain'
    Email.description = ''
    #Email.from = From
    Email.fromName = 'An Employee'
    Email.subject = 'This is a test'
    Email.mrrId = ''
    Email.templateId = ''

try:
    email_sent = client.service.sendEmail(From, SenderContext, Email)
except WebFault, e:
    print e

if  __name__ == '__main__':
    errors = 0
    sendTestMail()
    print '\nFinished: errors=%d' % errors
4

1 に答える 1