게시물 요청을 만들기 위해 zeep 라이브러리를 사용하고 있습니다. 아래는 내 코드입니다.
from zeep import Client
import logging.config
logging.config.dictConfig({
'version': 1,
'formatters': {
'verbose': {
'format': '%(name)s: %(message)s'
}
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose',
},
},
'loggers': {
'zeep.transports': {
'level': 'DEBUG',
'propagate': True,
'handlers': ['console'],
},
}
})
wsdl = "https://api2.brinkpos.net/Settings.svc?WSDL"
client = Client(wsdl)
result = client.service.GetModifierGroups(accessToken, locationToken)
print(result)
줄에 오류가 발생합니다 client = Client(wsdl)
. 아래에서 전체 로그를 찾으십시오.
/Users/dilipyadav/githome/elrond/venv/bin/python /Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 65300 --file /Users/dilipyadav/githome/gimli/test/brink_test.py
pydev debugger: process 18141 is connecting
Connected to pydev debugger (build 192.5728.105)
zeep.transports: Loading remote data from: https://api2.brinkpos.net/Settings.svc?WSDL
Traceback (most recent call last):
File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py", line 2060, in <module>
main()
File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py", line 2054, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py", line 1405, in run
return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)
File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py", line 1412, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/Users/dilipyadav/githome/gimli/test/brink_test.py", line 28, in <module>
client = Client(wsdl)
File "/Users/dilipyadav/githome/elrond/venv/lib/python3.7/site-packages/zeep/client.py", line 68, in __init__
self.wsdl = Document(wsdl, self.transport, settings=self.settings)
File "/Users/dilipyadav/githome/elrond/venv/lib/python3.7/site-packages/zeep/wsdl/wsdl.py", line 80, in __init__
document = self._get_xml_document(location)
File "/Users/dilipyadav/githome/elrond/venv/lib/python3.7/site-packages/zeep/wsdl/wsdl.py", line 143, in _get_xml_document
location, self.transport, self.location, settings=self.settings
File "/Users/dilipyadav/githome/elrond/venv/lib/python3.7/site-packages/zeep/loader.py", line 78, in load_external
content = transport.load(url)
File "/Users/dilipyadav/githome/elrond/venv/lib/python3.7/site-packages/zeep/transports.py", line 110, in load
content = self._load_remote_data(url)
File "/Users/dilipyadav/githome/elrond/venv/lib/python3.7/site-packages/zeep/transports.py", line 127, in _load_remote_data
response.raise_for_status()
File "/Users/dilipyadav/githome/elrond/venv/lib/python3.7/site-packages/requests/models.py", line 940, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api2.brinkpos.net/Settings.svc?WSDL
Process finished with exit code 1
클라이언트 개체 자체를 만드는 동안 실패하므로 게시 요청도 기록 할 수 없습니다.
더 많은 정보가 필요하면 알려주세요.
prod ( https://api2.brinkpos.net/Settings.svc?wsdl ) 에 연결하려면 dev wsdl ( https://api-devapi01.brinkpos.net/Settings.svc?WSDL ) 을 재정의해야했습니다 . 그래서 나는 새로운 ServiceProxy 객체를
https://python-zeep.readthedocs.io/en/master/client.html#creating-new-serviceproxy-objects
WSDL이 엔드 포인트의 다른 주소에있는 상황을 처리하는 방법을 언급했습니다.
아래 작업 스 니펫 :
client = Client(wsdl=wsdl)
service = client.create_service(
'{http://tempuri.org/}BasicHttpBinding_ISettingsWebService',
'https://api2.brinkpos.net/Settings.svc?wsdl')
result = service.GetModifierGroups(accesstoken, locationtoken)
print(result)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다