0

Python/SUDS を使用して Web サービスに接続しようとしています。

1 つのファイルに次のコードがあり、正常に接続でき、応答を受け取ります。

class Suds_Connect:
    def __init__(self, url, q_user, q_passwd):

        logging.basicConfig(level=logging.INFO)
        logging.getLogger('suds.client').setLevel(logging.DEBUG)
        try:
            # fix broken wsdl
            # add <s:import namespace="http://www.w3.org/2001/XMLSchema"/> to the wsdl
            imp = Import('http://www.w3.org/2001/XMLSchema',
            location='http://www.w3.org/2001/XMLSchema.xsd')

            wsdl_url = url
            self.client = Client(wsdl_url, doctor=ImportDoctor(imp))
            t = HttpAuthenticated()


            security = Security()
            token = UsernameToken(q_user,q_passwd)
            security.tokens.append(token)
            self.client.set_options(wsse=security)



        except Exception, e: 
            print "Unexpected error:", sys.exc_info()[0]
            print str(e)
            sys.exit()


def CallWebMethod():

        try:
        print ' SUDS Client'
            print self.client
            Person= self.client.factory.create('ns0:Person')


            Person.name= 'bob'
            Person.age= '34'
            Person.address= '44, river lane'
            print self.client.service.AddPerson(Person)

        except WebFault, f:
            print str(f.fault)
        except Exception, e: 
            print str(e)

if __name__ == '__main__':
    errors = 0
    sudsClient = Suds_Connect('url','user','password')
    sudsClient.CallWebMethod()
    print '\nFinished:'

ボタン クリック イベントから呼び出される Python クライアント アプリでこのコードを使用したいと考えています。これを実装しようとしましたが、クライアントを印刷できましたが、Web サービス呼び出し ( print self.client.service.AddPerson(Person)) を行うと、次のエラーが発生します。

unsupported operand type(s) for +: 'NoneType' and 'str'

このエラーを修正するにはどうすればよいですか?

4

2 に答える 2