try
{
const string siteURL = "http://ops.epo.org/2.6.1/soap-services/document-retrieval";
const string docRequest = "<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><soap:Body><document-retrieval id='EP 1000000A1 I ' page-number='1' document-format='SINGLE_PAGE_PDF' system='ops.epo.org' xmlns='http://ops.epo.org' /></soap:Body></soap:Envelope>";
var request = (HttpWebRequest)WebRequest.Create(siteURL);
request.Method = "POST";
request.Headers.Add("SOAPAction", "\"document-retrieval\"");
request.ContentType = " text/xml; charset=utf-8";
Stream stm = request.GetRequestStream();
byte[] binaryRequest = Encoding.UTF8.GetBytes(docRequest);
stm.Write(binaryRequest, 0, docRequest.Length);
stm.Flush();
stm.Close();
var memoryStream = new MemoryStream();
WebResponse resp = request.GetResponse();
var buffer = new byte[4096];
Stream responseStream = resp.GetResponseStream();
{
int count;
do
{
count = responseStream.Read(buffer, 0, buffer.Length);
memoryStream.Write(buffer, 0, count);
} while (count != 0);
}
resp.Close();
byte[] memoryBuffer = memoryStream.ToArray();
System.IO.File.WriteAllBytes(@"E:\sample12.pdf", memoryBuffer);
}
catch (Exception ex)
{
throw ex;
}
Le code ci-dessus est de récupérer le pdf webresponse.It fonctionne bien aussi longtemps que la demande reste canstant,webservice question de demande avec des entrées de demande dynamiques
const string docRequest = "<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><soap:Body><document-retrieval id='EP 1000000A1 I ' page-number='1' document-format='SINGLE_PAGE_PDF' system='ops.epo.org' xmlns='http://ops.epo.org' /></soap:Body></soap:Envelope>";
mais comment récupérer la même chose avec des demandes dynamiques . Lorsque le code ci-dessus est modifié pour accepter des entrées dynamiques comme,
[WebMethod]
public string DocumentRetrivalPDF(string docid, string pageno, string docFormat, string fileName)
{
try
{
........
.......
string docRequest = "<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><soap:Body><document-retrieval id=" + docid + " page-number=" + pageno + " document-format=" + docFormat + " system='ops.epo.org' xmlns='http://ops.epo.org' /></soap:Body></soap:Envelope>";
......
........
return "responseTxt";
}
catch (Exception ex)
{
return ex.Message;
}
}
Il retourner une « erreur interne du serveur: 500 » quelqu'un peut me aider à ce ???
Veuillez apprendre à formater votre code. Il y avait un guide sur la page quand vous avez posé votre question. Lisez-le s'il vous plaît. –