将数组传递给Web服务SUDS(Jurko)

时间:2015-07-22 19:44:39

标签: python arrays encoding suds

我知道我可能正在做一些非常愚蠢或小事(我希望),但我正在做的是传递一些数据,但我得到的只是这个错误。

  

suds.WebFault:服务器引发的错误:'格式化程序在尝试反序列化消息时引发异常:尝试反序列化参数http://tempuri.org/:tankLevelDataArray时出错。 InnerException消息是'第1行中的错误位置407.期待状态'元素'..遇到名为'',名称空间''的'文本'。 ”。有关详细信息,请参阅InnerException。'

无论我尝试什么,我的程序都会继续遇到这个问题,这是我目前用来传递数组的代码。

def PosEncodedTankData( Id, encodedTankData ):
    global HOST2
    global PORT2
    global DATA

    date = datetime.datetime.now()
    #Setup Soap
    client = Client(HOST2)

    try:
        #Send data
        print (client)
        tankLevelDataArray = client.factory.create('tankLevelDataArray')

        tankLevelDataArray = np.array(sortData(DATA, 21, tankLevelDataArray))

        client.service.PostTankDataArray (1, tankLevelDataArray)
        print ("Message Recieved")


    except TimeoutError:
        print ("Message was not sent")

所以,当经历这种方法时,失败了..但我还没弄清楚发生了什么。

我正在传递数组数组。

1 个答案:

答案 0 :(得分:0)

没关系所有人,看起来所需的数组是一个TankLevelData数组,我只是给它整数导致我的错误。我的坏。