Closed 3a532028 closed 2 years ago
I am very new in SOAP or zeep.
I just want to make a simple request like following programe. which method is no needed any parameters:
import zeep from zeep import Client my_url = 'http://****.asmx' client = Client(f'{my_url}?wsdl') client.service.Version()
But it always goes throw:
TransportError: Server returned response (404) with invalid XML: Invalid XML content received (Opening and ending tag mismatch: link line 11 and head, line 50, column 12). Content: b'<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Not Found</title> <!-- Fonts --> <link rel="dns-prefetch" href="//fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet"> <!-- Styles --> <style> html, body { background-color: #fff; color: #636b6f; font-family: 'Nunito', sans-serif; font-weight: 100; height: 100vh; margin: 0; } .full-height { height: 100vh; } .flex-center { align-items: center; display: flex; justify-content: center; } .position-ref { position: relative; } .code { border-right: 2px solid; font-size: 26px; padding: 0 15px 0 15px; text-align: center; } .message { font-size: 18px; text-align: center; } </style> </head> <body> <div class="flex-center position-ref full-height"> <div class="code"> 404 </div> <div class="message" style="padding: 10px;"> Not Found </div> </div> </body> </html>
It can work fine with python requests code like following:
import requests url = "http://****.asmx?WSDL" payload=""" <?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <Version xmlns="http://microsoft.com/webservices/" /> </soap12:Body> </soap12:Envelope> """ headers = { 'Content-Type': 'application/soap+xml; charset=utf-8' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
And my client.wsdl.dump() By zeep method is here:
Prefixes: xsd: http://www.w3.org/2001/XMLSchema ns0: http://microsoft.com/webservices/ Global elements: ns0:APISoapHeader(ns0:APISoapHeader) ns0:CheckCaseID(id: xsd:string) ns0:CheckCaseIDResponse(CheckCaseIDResult: ns0:CaseProcessStatus) ns0:Create(note: ns0:PostNote) ns0:CreateDir(data: ns0:BookInsert) ns0:CreateDirResponse(CreateDirResult: xsd:boolean) ns0:CreateResponse(CreateResult: xsd:boolean) ns0:DataInsert(data: ns0:DataInsert) ns0:DataInsertNew(data: ns0:DataInsert) ns0:DataInsertNewResponse(DataInsertNewResult: xsd:boolean) ns0:DataInsertResponse(DataInsertResult: xsd:boolean) ns0:DuplicateCheck(plt_no: xsd:string, vil_dt: xsd:string, vil_time: xsd:string) ns0:DuplicateCheckResponse(DuplicateCheckResult: ns0:CheckDuplicateData) ns0:GetCarData(plt_no: xsd:string) ns0:GetCarDataResponse(GetCarDataResult: ns0:CarData) ns0:GetNoteReason() ns0:GetNoteReasonResponse(GetNoteReasonResult: ns0:ArrayOfNoteReason) ns0:Login(username: xsd:string, password: xsd:string, version: xsd:string) ns0:LoginResponse(LoginResult: xsd:string) ns0:MpoliceCheck(tkt_no: xsd:string) ns0:MpoliceCheckResponse(MpoliceCheckResult: ns0:MpoliceData) ns0:PapperDataInsert(data: ns0:PapperInsert) ns0:PapperDataInsertResponse(PapperDataInsertResult: xsd:boolean) ns0:Version() ns0:VersionResponse(VersionResult: xsd:string) ns0:mpoliceCreateDir(data: ns0:mpoliceBookInsert) ns0:mpoliceCreateDirResponse(mpoliceCreateDirResult: xsd:boolean) Global types: xsd:anyType ns0:APISoapHeader(signature: xsd:string, timestamp: xsd:long, nonce: xsd:string, _attr_1: {}) ns0:ArrayOfDuplicateData(DuplicateData: ns0:DuplicateData[]) ns0:ArrayOfNoteReason(NoteReason: ns0:NoteReason[]) ns0:BookInsert(albumnum: xsd:string, totalCnt: xsd:int, keyaccount: xsd:string) ns0:CarData(carName: xsd:string, brand: xsd:string, color: xsd:string) ns0:CaseProcessStatus ns0:CheckDuplicateData(flag: xsd:boolean, repeatData: ns0:ArrayOfDuplicateData) ns0:DataInsert(type: xsd:string, plt_no: xsd:string, carkind: xsd:string, vil_dt: xsd:string, vil_tm: xsd:string, vil_addr: xsd:string, rule1_sp1: xsd:string, rule1_sp2: xsd:string, rule1: xsd:string, truth1: xsd:string, accuse_no: xsd:string, pname: xsd:string, p_level: xsd:string, reportdt: xsd:string, reportno: xsd:string, piccnt: xsd:int, picrancode: xsd:string, whitenum: xsd:string, keyaccount: xsd:string, albumnum: xsd:string, get: xsd:string) ns0:DuplicateData(bookno: xsd:string, plt_no: xsd:string, car_kind: xsd:string, vil_dt: xsd:string, vil_time: xsd:string, rule1: xsd:string, truth1: xsd:string, vil_addr: xsd:string, pname: xsd:string, status: xsd:string, in_date: xsd:string, police: xsd:string, tkt_no: xsd:string, date: xsd:string, logout: xsd:string, rsn: xsd:string) ns0:MpoliceData(plt_no: xsd:string, kind: xsd:string, owner: xsd:string, o_addr: xsd:string, driver: xsd:string, d_id_no: xsd:string, d_birthday: xsd:string, d_addr: xsd:string, vil_dt: xsd:string, vil_time: xsd:string, vil_addr: xsd:string, rule1: xsd:string, truth_1: xsd:string, rule2: xsd:string, truth_2: xsd:string, sprvsn_no1: xsd:string, hold_thing: xsd:string, arv_dt: xsd:string, pname: xsd:string, pname2: xsd:string, hold: xsd:string, insure: xsd:string, modifyTime: xsd:string) ns0:NoteReason(Code: xsd:string, Name: xsd:string, IsDelivery: xsd:boolean, IsDeposit: xsd:boolean, IsReturn: xsd:boolean) ns0:PapperInsert(mpoliceno: xsd:string, plt_no: xsd:string, tkt_no: xsd:string, vil_dt: xsd:string, vil_time: xsd:string, vil_addr: xsd:string, mpolice_date: xsd:string, arv_dt: xsd:string, accuse_no: xsd:string, accuse_tp: xsd:string, pname: xsd:string, p_level: xsd:string, pname2: xsd:string, p_level2: xsd:string, key_man: xsd:string, key_date: xsd:string, car_kind: xsd:string, aowner: xsd:string, color: xsd:string, rule1: xsd:string, rule2: xsd:string, truth_1: xsd:string, truth_2: xsd:string, rule1_sp1: xsd:string, rule1_sp2: xsd:string, rule2_sp1: xsd:string, rule2_sp2: xsd:string, owner: xsd:string, owner_addr: xsd:string, driver: xsd:string, driver_addr: xsd:string, driver_id: xsd:string, driver_dbirth: xsd:string, hold: xsd:string, sprvsn_no: xsd:string, plt_mark: xsd:string, hold_thing: xsd:string, isrepeat: xsd:string, pno: xsd:string, pictureset: xsd:string, account: xsd:string, insure: xsd:string, get: xsd:string, Red: xsd:string, type: xsd:string) ns0:PostNote(Book: xsd:string, Id: xsd:string, Date: xsd:string, Reason: xsd:string, Creator: xsd:string) ns0:mpoliceBookInsert(albumnum: xsd:string, totalCnt: xsd:int, keyaccount: xsd:string) xsd:ENTITIES xsd:ENTITY xsd:ID xsd:IDREF xsd:IDREFS xsd:NCName xsd:NMTOKEN xsd:NMTOKENS xsd:NOTATION xsd:Name xsd:QName xsd:anySimpleType xsd:anyURI xsd:base64Binary xsd:boolean xsd:byte xsd:date xsd:dateTime xsd:decimal xsd:double xsd:duration xsd:float xsd:gDay xsd:gMonth xsd:gMonthDay xsd:gYear xsd:gYearMonth xsd:hexBinary xsd:int xsd:integer xsd:language xsd:long xsd:negativeInteger xsd:nonNegativeInteger xsd:nonPositiveInteger xsd:normalizedString xsd:positiveInteger xsd:short xsd:string xsd:time xsd:token xsd:unsignedByte xsd:unsignedInt xsd:unsignedLong xsd:unsignedShort Bindings: Soap11Binding: {http://microsoft.com/webservices/}TaoPoliceApiSoap Soap12Binding: {http://microsoft.com/webservices/}TaoPoliceApiSoap12 Service: TaoPoliceApi Port: TaoPoliceApiSoap (Soap11Binding: {http://microsoft.com/webservices/}TaoPoliceApiSoap) Operations: CheckCaseID(id: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> CheckCaseIDResult: ns0:CaseProcessStatus Create(note: ns0:PostNote, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> CreateResult: xsd:boolean CreateDir(data: ns0:BookInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> CreateDirResult: xsd:boolean DataInsert(data: ns0:DataInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> DataInsertResult: xsd:boolean DataInsertNew(data: ns0:DataInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> DataInsertNewResult: xsd:boolean DuplicateCheck(plt_no: xsd:string, vil_dt: xsd:string, vil_time: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> DuplicateCheckResult: ns0:CheckDuplicateData GetCarData(plt_no: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> GetCarDataResult: ns0:CarData GetNoteReason(_soapheaders={APISoapHeader: ns0:APISoapHeader}) -> GetNoteReasonResult: ns0:ArrayOfNoteReason Login(username: xsd:string, password: xsd:string, version: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> LoginResult: xsd:string MpoliceCheck(tkt_no: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> MpoliceCheckResult: ns0:MpoliceData PapperDataInsert(data: ns0:PapperInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> PapperDataInsertResult: xsd:boolean Version() -> VersionResult: xsd:string mpoliceCreateDir(data: ns0:mpoliceBookInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> mpoliceCreateDirResult: xsd:boolean Port: TaoPoliceApiSoap12 (Soap12Binding: {http://microsoft.com/webservices/}TaoPoliceApiSoap12) Operations: CheckCaseID(id: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> CheckCaseIDResult: ns0:CaseProcessStatus Create(note: ns0:PostNote, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> CreateResult: xsd:boolean CreateDir(data: ns0:BookInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> CreateDirResult: xsd:boolean DataInsert(data: ns0:DataInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> DataInsertResult: xsd:boolean DataInsertNew(data: ns0:DataInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> DataInsertNewResult: xsd:boolean DuplicateCheck(plt_no: xsd:string, vil_dt: xsd:string, vil_time: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> DuplicateCheckResult: ns0:CheckDuplicateData GetCarData(plt_no: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> GetCarDataResult: ns0:CarData GetNoteReason(_soapheaders={APISoapHeader: ns0:APISoapHeader}) -> GetNoteReasonResult: ns0:ArrayOfNoteReason Login(username: xsd:string, password: xsd:string, version: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> LoginResult: xsd:string MpoliceCheck(tkt_no: xsd:string, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> MpoliceCheckResult: ns0:MpoliceData PapperDataInsert(data: ns0:PapperInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> PapperDataInsertResult: xsd:boolean Version() -> VersionResult: xsd:string mpoliceCreateDir(data: ns0:mpoliceBookInsert, _soapheaders={APISoapHeader: ns0:APISoapHeader}) -> mpoliceCreateDirResult: xsd:boolean
Sorry for the long paste. But I have no idea how to use zeep to make this work.
Hi, I'm experiencing the same problem right now.
I am very new in SOAP or zeep.
I just want to make a simple request like following programe. which method is no needed any parameters:
But it always goes throw:
It can work fine with python requests code like following:
And my client.wsdl.dump() By zeep method is here:
Sorry for the long paste. But I have no idea how to use zeep to make this work.