获得Arerr 149必须在控制记录中提供用户名



我有一个肥皂URL,在通过浏览器运行URL时,我会得到WSDL响应。但是当我尝试使用所需参数列表中的响应中调用方法时,正在显示" Arerr [149]必须在控制记录中提供用户名。

我搜索了此错误,并获取了这样的信息:" arcontrolstruct参数的名称字段是空的。在此字段中提供AR System用户的名称。"但是,我看不到如何提供用户名参数。

我得到了解决此问题的解决方案。我遵循的步骤解决了问题(我已经使用了" Zeep"第三方模块来解决此问题(:

  1. 运行以下命令以了解WSDL:

python -mzeep wsdl_url

  1. 搜索字符串"服务:"。在下面,我们可以看到我们的操作名称

  2. 对于我的操作,我在输入后发现了:

Myoperation(参数...,_soapheaders = {参数:ns0:AuthenticationInfo}(

清楚地传达了我必须使用kwargs" _ soapheaders"

传递参数和auth param

以此,我知道我必须将我的身份验证元素作为_soapheaders参数传递给肌关言函数。

  1. 创建的auth元素:

auth_ele = client.get_element('ns0:authenticationinfo'(auth = auth_ele(用户名='me',password ='mypwd'(

  1. 将验证传递给了我的操作:

cleint.service.myoperation('parameters ..',_soapheaders = [auth](

最新更新