2012-01-20 4 views
1

나는 restsharp로 이것을 시도했지만 행운이 없다 ... 그래서 나는 나머지 웹 서비스에 대한 게시물을하려고 노력하고있다.휴식 서비스에 게시하는 동안 문제

<?xml version="1.0"?> 
<root> 
<request> 
<APIClientID>0</APIClientID > 
<Version>0</Version> 
<APIPassword>password</APIPassword > 
<Function>functionName</Function > 
<Params> 
<UserId>(current-datetime)</UserId > 
<page>example.aspx</page> 
<application>appName</application> 
<function>functionName</function> 
</Params> 
</request > 
</root > 

코드 I가 함께 게시물을 할 노력하고있어 : 그러나

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; 
     request.Method = "POST"; 
     request.ContentType = "text/xml"; 

     byte[] byteData = UTF8Encoding.UTF8.GetBytes(requestXML); 

     request.ContentLength = byteData.Length; 

     // Write data 
     using (Stream postStream = request.GetRequestStream()) 
     { 
      postStream.Write(byteData, 0, byteData.Length); 
     } 

     HttpWebResponse response = request.GetResponse() as HttpWebResponse; 
     StreamReader reader = new StreamReader(response.GetResponseStream()); 

     string responseString = reader.ReadToEnd(); 

, 내가 게시물을하려고 할 때마다 모든 내가 얻을 다시 나는 다음과 같은 샘플 XML을 받았다 서비스에서 일반 응답 받기입니다. 내가 뭘 잘못했는지에 대한 도움은 크게 감사 할 것입니다. 감사! 나는 그것을 내가 다시 서비스에 GET에서 얻을 XML을 게시 도움이 될 것 같아요

은 ...

<Function>TransAPIStats</Function> 
<Method> 
<post> 
<Description>Post api statistics to the DB via the API.</Description> 
<Params> 
<Client> 
<Required>true</Required> 
<Description>String</Description> 
</Client> 
<Page> 
<Required>true</Required> 
<Description>Integer</Description> 
</Page> 
<Application> 
<Required>true</Required> 
<Description>String</Description> 
</Application> 
<Function> 
<Required>true</Required> 
<Description>String</Description> 
</Function> 
</Params> 
<Return> 
<Result>String</Result> 
<Status>String</Status> 
<Description>String</Description> 
</Return> 
</post> 
</Method> 

는 내가에 나열된 매개 변수와 일치하는 나에게 주어진 샘플 XML을 변경 시도 api xml,하지만 여전히 똑같은 일을합니다. 나는 그것이 내 문제가 어디에 있는지 느끼지만, 일하기를 원하지 않는 것 같습니다 ...

답변

0

시도해보십시오;

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.Method = "POST"; 
request.ContentType = "application/xml"; 

using (var postStream = new StreamWriter(request.GetRequestStream())) 
{ 
    postStream.Write(requestXML); 
} 

string responseString = null; 
using (var response = (HttpWebResponse)request.GetResponse()) 
using (var dataStream = response.GetResponseStream()) 
using (var reader = new StreamReader(dataStream)) 
{ 
    responseString = reader.ReadToEnd(); 
} 
+0

응답 해 주셔서 감사합니다. 나는 변화를 만들었지 만 여전히 그 반응을 얻는다. 내 게시물에 몇 가지 세부 정보를 추가했습니다. 도움이 될만한 세부 정보를 제공 할 것입니다. – Arthurdent510

관련 문제