Я ищу решение веб-службы ASP.Net (C #), которое может использовать вложенный запрос, это должно быть сделано в коде позади, из-за записей заголовка:
POST http://training.maxmoney.co.za/MaxAdmin/web_services/maxmoney/ HTTP/1.1 SOAPAction: http://training.maxmoney.co.za/MaxAdmin/web_services/maxmoney/ConnectionTest Username: albatross_soap Password: @1B@tr0$$ Content-Type: text/xml;charset="utf-8" Host: training.maxmoney.co.za Content-Length: 1227 Expect: 100-continue Connection: Keep-Alive <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:max="http://training.maxmoney.co.za/webservices/maxmoney.xsd"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-E033FC91FFC6A82CA915397704062061"> <wsse:Username>albatross_soap</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">@1B@tr0$$</wsse:Password> <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">gNpe7bc1ArfIL0A6pAvYUQ==</wsse:Nonce> <wsu:Created>2018-10-17T10:00:06.205Z</wsu:Created> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <max:connectionTest> <iGIDCode>910821</iGIDCode> <iMleAPIKey>4QWPiKbK4k7kvSuRAu1vrr2Mtxs</iMleAPIKey> <iCustomID/> <iCustomCode/> </max:connectionTest> </soapenv:Body> </soapenv:Envelope>
Ответ:
ReplyCode (4 символа) (0000 - успех) ReplyStr (дата и время)
ReplyCode (4 символа) (0000 - успех)
ReplyStr (дата и время)
Я пытался потреблять его, используя ниже:
string xml = doc.ToString(); string url = "http://training.maxmoney.co.za/MaxAdmin/web_services/maxmoney/"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(xml); req.Method = "POST"; req.ContentType = "text/xml;charset=utf-8"; req.ContentLength = requestBytes.Length; Stream requestStream = req.GetRequestStream(); requestStream.Write(requestBytes, 0, requestBytes.Length); requestStream.Close(); HttpWebResponse res = (HttpWebResponse)req.GetResponse(); StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default); string backstr = sr.ReadToEnd(); HttpContext.Current.Response.Write(backstr); sr.Close(); res.Close();
Но я получаю дозу не существует ошибки, Код ответа должен быть:
ReplyCode: 0000 ReplyStr: (текущая дата и время)
ReplyCode: 0000
ReplyStr: (текущая дата и время)