"An error occurred when verifying security for the message." WSDL Zeep



我试图从wsdl服务获取信息,但我一次又一次地收到同样的错误。我想知道这背后的原因是什么。这是我的代码

from zeep import Client
import certifi
import os
import xlrd
import arcpy
from zeep import helpers
import pandas as pd
import logging
import warnings
from requests import Session
from requests.auth import HTTPBasicAuth
from zeep.transports import Transport
import requests
from zeep.wsse.username import UsernameToken
from zeep.wsse.signature import Signature
wsdl = "https://kpsv2.saglik.gov.tr/?wsdl&service=kpsServices&isTest=true"

session = Session()
session.verify = certifi.where()
#session.auth = HTTPBasicAuth(nvi_id,nvi_pw)
client = Client(wsdl, transport=Transport(session=session))
client.service.YetkiListesi()

它将错误作为返回给我

Fault                                     Traceback (most recent call last)
In  [5]:
Line 1:     client.service.YetkiListesi()
File C:Program FilesArcGISServerframeworkruntimeArcGISbinPythonenvsmersinOrtamilibsite-packageszeepproxy.py, in __call__:
Line 51:    kwargs,
File C:Program FilesArcGISServerframeworkruntimeArcGISbinPythonenvsmersinOrtamilibsite-packageszeepwsdlbindingssoap.py, in send:
Line 135:   return self.process_reply(client, operation_obj, response)
File C:Program FilesArcGISServerframeworkruntimeArcGISbinPythonenvsmersinOrtamilibsite-packageszeepwsdlbindingssoap.py, in process_reply:
Line 229:   return self.process_error(doc, operation)
File C:Program FilesArcGISServerframeworkruntimeArcGISbinPythonenvsmersinOrtamilibsite-packageszeepwsdlbindingssoap.py, in process_error:
Line 396:   subcodes=subcodes,
Fault: An error occurred when verifying security for the message.

SOAPFault由远程服务器发送。在您的情况下,远程服务器会告诉您

验证消息的安全性时出错。

因此,换句话说,您可能没有在请求时传递(正确的(安全信息。

您需要参考服务提供商的文档来了解安全要求。

顺便说一句,您的代码简化为

from zeep import Client
client = Client("https://kpsv2.saglik.gov.tr/?wsdl&service=kpsServices&isTest=true")
client.service.YetkiListesi()

因为该问题与您的本地安全设置无关。

相关内容

最新更新