Python SUDS客户端服务。问题
我对这项本应是容易的任务完全不知所措 我正在尝试将Python与SUD结合使用,以获取WSDL URL、创建客户机对象、修改一些信息,然后发布备份WSDL(或者它告诉我发布它的任何地方) 我收到以下错误消息:Python SUDS客户端服务。问题,python,suds,Python,Suds,我对这项本应是容易的任务完全不知所措 我正在尝试将Python与SUD结合使用,以获取WSDL URL、创建客户机对象、修改一些信息,然后发布备份WSDL(或者它告诉我发布它的任何地方) 我收到以下错误消息: Traceback (most recent call last): File "./test.py", line 47, in <module> email_sent = client.service.sendEmail(From, SenderContext
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
在
sendTestMail()
类中定义client,然后在try/except语句中使用较低级别的缩进。因此,此时客户端不在范围内。将try/except块缩进到sendTestMail()
范围内,或者全局声明客户端
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