尝试通过Java中的Rally API创建/更新/删除/查询Rally时获取HTTP / 1.1 401未经授权的异常
// Create and configure a new instance of RallyRestApi
RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"),"[email protected]", "Foo@123");
restApi.setWsapiVersion("v2.0");
restApi.setApplicationName("Add Test Case Result");
//Query User
QueryRequest userRequest = new QueryRequest("User");
String workSpace = userRequest.getWorkspace();
userRequest.setFetch(new Fetch("UserName", "Subscription", "DisplayName"));
userRequest.setQueryFilter(new QueryFilter("UserName", "=", "[email protected]"));
QueryResponse userQueryResponse = restApi.query(userRequest);
JsonArray userQueryResults = userQueryResponse.getResults();
JsonElement userQueryElement = userQueryResults.get(0);
JsonObject userQueryObject = userQueryElement.getAsJsonObject();
String userRef = userQueryObject.get("_ref").getAsString();
// Query for Test Case to which we want to add results
QueryRequest testCaseRequest = new QueryRequest("TestCase");
testCaseRequest.setFetch(new Fetch("FormattedID","Name"));
testCaseRequest.setQueryFilter(new QueryFilter("FormattedID", "=", "TC1147"));
QueryResponse testCaseQueryResponse = restApi.query(testCaseRequest);
JsonObject testCaseJsonObject = testCaseQueryResponse.getResults().get(0).getAsJsonObject();
String testCaseRef = testCaseQueryResponse.getResults().get(0).getAsJsonObject().get("_ref").getAsString();
我正在
Exception in thread "main" java.io.IOException: HTTP/1.1 401 Unauthorized
每个
restap.get
处都有异常; restapi.create
和restapi.query
我可能不是问题,我认为这一定是由于SSO问题造成的,并且还找到消息人士说,当您尝试通过Rally API进行操作时,Rally APIS需要安全令牌。请参阅Rally Web Services API Documentation v2.0/Autorization
请指导/帮助。
最佳答案
Rally的SDK工具包尚不支持SSO。如果您的组织使用SSO,则需要让Rally管理员将您的UserID添加到白名单中,以便您可以使用/或SSO / Rally凭据。
请注意,Java REST工具包将为您处理所有身份验证令牌管理,因此您无需担心获取或维护API身份验证密钥。 Java工具包为您完成了此任务。
最后一种可能是您和Rally之间有一个代理服务器。在这种情况下,您可以通过以下方式配置代理:restApi.setProxy(new URI(proxyserver));
关于java - 尝试通过Java中的Rally API创建/更新/删除/查询Rally时获取HTTP/1.1 401未经授权的异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21394938/