我正在尝试使用SUDS和

Python与SOAP Web服务进行通信.经过大量学习Python的麻烦(是的,我是新手),并研究如何使用SUDS,我遇到了一个问题.

根据肥皂泡沫,我呼吁的网络方法的签名是

(FWTCaseCreate){

ClassificationEventCode = None

Priority = None

Title = None

Description = None

Queue = None

DueDate = None

AssociatedObject =

(FWTObjectBriefDetails){

ObjectID =

(FWTObjectID){

ObjectType = None

ObjectReference[] =

}

ObjectDescription = None

Details = None

Category = None

}

Form =

(FWTCaseForm){

FormField[] =

FormName = None

FormKey = None

}

Internal = None

InteractionID = None

XCoord = None

YCoord = None

}

所以我使用SUDS创建我想要的类并将其发送到方法.但是我收到了一个错误.所以我开启登录,我可以看到正在发送的XML不正确,导致反序列化错误.

SOAP包如下所示

eaadf1ddff99a8

2000023

1

testing

testing

True

356570

168708

你可以看到有一个

‘ClassificationEventCode’

围绕所有其他元素的元素,这不应该存在.如果我将此xml剪切并粘贴到SOAPUI中,并首先删除此元素,然后将其直接发布到Web服务,它就能成功运行.

这是我用来拨打电话的代码

client = Client(url)

#Add a header for the security

ssnns = ('wsse', 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd')

ssn = Element('BinarySecurityToken', ns=ssnns).setText(binaryKey)

ssn1 = Element('Security',ns=ssnns)

ssn1.append(ssn)

client.set_options(soapheaders=ssn1)

newCase = client.factory.create('ns1:FWTCaseCreate')

classEventCode = client.factory.create('ns1:FWTEventCode')

classEventCode.value = 2000023

newCase.ClassificationEventCode = classEventCode

newCase.Priority = 1

#optional

newCase.AssociatedObject = None

#optional

newCase.Form = None

#optional

newCase.Internal = None

#optional

newCase.InteractionID = None

#optional

newCase.DueDate = None

#optional

newCase.Queue = None

newCase.Title = 'Title'

newCase.Description = 'description'

newCase.XCoord = '356570'

newCase.YCoord = '168708'

caseID = client.service.createCase(newCase)

有没有人有任何想法为什么会这样?我猜SUDS认为它应该基于WSDL.

谢谢.

最佳答案 我得到了完全相同的问题.我的SOAP请求中的参数序列被包装在一个与第一个参数同名的元素中.例如

....

1

Mr

....

....

我检查了WSDL,以确保它没有问题.

看起来问题是因为我使用client.factory.create方法创建了一个CreationReq对象.通过打印检查客户端显示我正在调用的方法不将该对象作为参数.而是需要一个名为args的列表.

所以我的代码是:

req = client.factory.create('CreationReq')

req.ReqType = 1

req.Title = 'Mr'

resp = client.service.Create(req)

现在它是:

req = {}

req['ReqType'] = 1

req['Title'] = 'Mr'

resp = client.service.Create(**req)

python写xml多了ns0_python – SUDS生成的XML不正确相关推荐

  1. .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml)

    .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml) 首先设置 Startup.cs 文件 配置 ConfigureServices services.AddM ...

  2. 使用Python将TXT文本内容读取后生成指定XML格式的文件

    任务说明: 解析服务器内存和CPU信息.格式是无后缀的文本格式.将其转换为统一XML格式. 源文件名:zmonitor.2017-04-06-14_28 172.17.8.64 saptmqas_cp ...

  3. oracle实例增加xml组件,使用Oracle SQL生成嵌套XML

    朋友们, 我正在使用Oracle 10g,我需要使用以下xml格式的SQL从表中生成结果: 7839 KING 7369 SMITH ... Rest of the EMP table records ...

  4. 使用Python调用baidu翻译的接口,实现转换android stuido 中的values/strings.xml 解放生产力,自动翻译生成文件

    调用baidu翻译的接口,实现转换android stuido 中的values/strings.xml 解放生产力,自动翻译生成文件 因为使用的是合法免费的接口,每秒只能请求一次,测试结果翻译330 ...

  5. 用python做算法_自己用python写的螺旋矩阵生成算法

    自己用python写的螺旋矩阵生成算法 如果输入6,可以生成如下矩阵: 1 20 19 18 17 16 2 21 32 31 30 15 3 22 33 36 29 14 4 23 34 35 28 ...

  6. python list转字符串_我用python写了个自动生成给文档生成索引的脚本!懒人智慧...

    我用 python 写了一个自动生成索引的脚本 简介:为了刷算法题,建了一个 GitHub仓库: PiperLiu / ACMOI_Journey ,记录自己的刷题轨迹,并总结一下方法.心得.想到一个 ...

  7. php和python写爬虫-一个简单的Python写的XML爬虫

    一个简单的Python写的XML爬虫 来源:程序员人生 发布时间:2013-11-06 16:22:29 阅读次数:1578次 原理很简单,读XML结构,返回值,判断,根据返回的值得到下一个XML的地 ...

  8. python写魔兽世界脚本_用python bat写软件安装脚本 + HM NIS Edit自动生成软件安装脚本...

    2019-03-11更新:原来NSIS脚本也可以禁用64位文件操作重定向的! 1.在安装脚本的开始处定义 LIBRARY_X64. !include "MUI.nsh" !incl ...

  9. pythonxml库_对python 生成拼接xml报文的示例详解

    最近临时工作要生成xml报名,通过MQ接口发送.简单小程序. 自增长拼成xml报文 Test_001.py # encoding=utf-8 import time orderId = '' s1= ...

最新文章

  1. html边框绕着图片,CSS 边框
  2. windows主要鼠标消息
  3. 银行系统开发必读的三本书!银行IT开发
  4. python多线程处理数据库_在flask框架下利用Python的threading或thread多线程库如何操作数据库?...
  5. 2020 Jiangsu Collegiate Programming Contest
  6. java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
  7. Linux文件的复制、删除和移动命
  8. Linux下使用curl
  9. 【Flink】Flink Elasticsearch client is not connected to any Elasticsearch nodes
  10. 网络工程师应该掌握的知识要点
  11. 牛客Wannafly挑战赛10 A.小H和迷宫
  12. 嵌入式C语言知识总结
  13. 复杂网络python中心度指标算法学习(画图、计算)
  14. 阿里巴巴大数据竞赛-天池
  15. 这行情我还老是管不住手,少kui点就偷着笑吧
  16. 数据库中update怎么用事例_Oracle的update语句set里使用子查询的例子解释
  17. 基于python OpenCV多边形图像识别的实现
  18. 入门百度地图 JavaScript API
  19. 【USB笔记】USB 2.0 帧开始包Start-of-Frame Packets
  20. UE4创建一个左右摇摆的“喷泉”

热门文章

  1. VS2022(Visual Studio)发布ASP.NET Core Web API应用到Web服务器(IIS)
  2. VC实现二维码(qrcode)编码源码
  3. heic文件怎么转换成jpg?实用图片格式转换方法分享
  4. VMware Workstation实例二:单IP的虚拟机提供外网访问
  5. 数论[计算机数学专题(5)]
  6. Deep Learning Networks: CNN-, RNN-
  7. OpenHarmony HDF LED驱动开发 基于小熊派Micro
  8. 新氧“自律破圈” 医美新生态而立时
  9. Scala:Map集合的使用
  10. HTML5 <a> 标签