2017-11-13 16 views
0

나머지 API를 사용하여 ALM 인스턴스에 로그인/인증 할 수 있었지만 지금은 새 테스트 세트를 작성하기 위해 무엇을해야하는지 혼란 스럽습니다. . 는 :ALM 나머지 API (C#) : 테스트 세트 생성

private string CreateTestSetURL = "{0}rest/domains/{1}/projects/{2}/test-sets"; 

// Parameters : 0 = Open Date, 1 = Description, 2 = parent, 3 = Name. 
private const string TestSetsXML = "<Entity Type=\"test-set\">" + 
    "<Fields>" + 
     "<Field Name=\"status\"><Value>Open</Value></Field>" + 
     "<Field Name=\"open-date\"><Value>{0}</Value></Field>" + 
     "<Field Name=\"subtype-id\"><Value>hp.pc.test-set.performance</Value></Field>" + 
     "<Field Name=\"description\"><Value>{1}</Value></Field>" + 
     "<Field Name=\"parent-id\"><Value>{2}</Value></Field>" + 
     "<Field Name=\"name\"><Value>{3}</Value></Field>" + 
    "</Fields>" + 
"</Entity>"; 

string requestURL = String.Format(TestSetsURL, baseRequestURL, qcSettings.QCDomain, qcSettings.QCProject); 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(requestURL)); 

string xml = String.Format(TestSetsXML, "2015-12-17", "test please ignore", parent, "TestPleaseIgnore"); 
byte[] Requestbytes = Encoding.UTF8.GetBytes(xml); 

//request. 
request.CookieContainer = authenticationCookieContainer; 
request.Method = "POST"; 
request.ContentType = "application/xml"; 
request.Accept = "application/xml"; 
request.ContentLength = Requestbytes.Length; 

Stream requestStream = request.GetRequestStream(); 
requestStream.Write(Requestbytes, 0, Requestbytes.Length); 
requestStream.Close(); 

var response = request.GetResponse(); 
var responseStream = response.GetResponseStream(); 

결과는이 에러는 "원격 서버에서 오류를 반환. (400) 잘못된 요청"

은 아마 몇 가지 질문은 :

  1. 는이 게시물을해야 하는가? - documentation here에 따라야합니다.
  2. 형식이 맞습니까?

UPDATE : 내가 바니스의 제안을 시도,하지만 난 여전히 (400) 잘못된 요청을 얻고있다.

변경 사항이 업데이트되었습니다.

+0

시험은 정보가없는 쿼리 문자열에, 당신의 요구에 신체의 일부가되어야합니다 설정합니다. – Barney

+1

@Barney 당신이 통과 한 XML이어야한다는 것을 의미합니까? –

+0

변수 parent를 어딘가에 초기화 했습니까? – Barney

답변

0

서버에 중요한 두 가지 사항 (data = your_Xml 및 헤더 = 권한 부여)을 부여해야합니다. 그러면 문제가 없습니다.) 어쨌든 오류 코드 400 또는 500입니까? 대개 500은 나쁜 요청입니다/400은 잘못된 승인입니다

사용자가 읽기 권한 만 갖고 만들 수 없습니까?

는 한편 문제의 해결

희망)