2012-02-07 1 views
0

XML 문서를 REST 웹 서비스로 보내려고합니다. 포스터와 같은 도구를 사용하면 호출이 정상적으로 작동하지만 (코드의 본문에 xml이 있음) 코드에서 오류 503 서버를 사용할 수 없습니다.오류 503의 응답으로 REST 웹 서비스 결과를 호출하지만 포스터와 같은 도구는 사용하지 마십시오.

포스터 링크 :

string s = ""; 

    using (StreamReader sr = new StreamReader(@"c:\users\dev.admin\documents\visual studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\XMLFile1.xml")) 
    { 
     s = sr.ReadToEnd(); 
    } 

    string url = FULL_URL_WITH_PARAMETERS; // SAME URL AS USED IN POSTER 

    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); 
    request.Method = "POST"; 
    request.ContentType = "text/xml;charset=UTF-8"; 

    string data = s; 

    Stream postStream = null; 

    using (StreamWriter requestStream = new StreamWriter(request.GetRequestStream())) 
    { 

     requestStream.Write(data); 
    } 

    HttpWebResponse pervasiveResponse = (HttpWebResponse)request.GetResponse(); 
    StreamReader sr1 = new StreamReader(pervasiveResponse.GetResponseStream(), System.Text.Encoding.Default); 
    string backstr = sr1.ReadToEnd(); 
} 
else 
{ 
    throw new ArgumentNullException(); 
} 
+1

나가는 HTTP 요청을 비교하기 위해 Fiddler와 같은 것을 사용해 보셨습니까? 이로 인해 헤더, 쿠키 또는 본문 자체의 차이가 발견 될 수 있습니다. – tomfumb

+0

시간 제약으로 인해이 작업을 수행하지는 않았지만 내일 시도 할 것입니다. 코드가 올바른지 확인하기 만하면됩니다. – dotnetdev

답변

0

REST 시작 키트 다음과 같이 https://addons.mozilla.org/en-US/firefox/addon/poster/

내 코드입니다 (이 때문에 오류가 등을 처리하지 않는 테스트 하네스는)? WCF 웹 API (Glenn Block의 프로젝트, 현재 AppFabric int의 일부인 4.5 시간 프레임? (독립형이 될 것이라고 생각하지만))? 너 자신의 관절을 굴려?

관계없이 바이너리로 작업하는 것이 올바른 방법이라고 생각합니다. 그 이유 때문에, 나는 this article과 같은 것으로 시작할 것입니다. 코드를 시험해보고 훌륭한 기사라고 생각하기 때문에가 아니라 단순히 XML을 보내는 것으로 표시되어 몇 달 전에 작성한 클라이언트를 찾을 시간이 없기 때문입니다. ;-)

내 코드를 찾을 수있을만큼 길게 끊을 수 있다면 샘플을 게시 할 것입니다.

오, 다른 도구는 SoapUI입니다. 아니요, REST (및 다른 방법론)와 SOAP을 지원하므로 SOAP 테스트 만이 아닙니다. SoapUI를 사용하면 얻을 수있는 장점 중 하나는 테스트를 LoadUI으로 이동하고 서비스를 스트레스 테스트하는 것입니다. 당신이 단순히 서비스를 소비하는 경우, 그것은 물론 가장 큰 가치가 없을 수도 있습니다.

관련 문제