2017-01-02 119 views
2

我正在尝试使用Soap用户界面和Rally在https://rally1.rallydev.com/slm/doc/webservice/公开的API添加测试案例。尽管如此,我可以用java代码来做到这一点。由于每个页面,我需要做一个POST/PUT来实现相同的,但我得到的错误使用Soap用户界面添加测试案例Rally

{"CreateResult": { 
    "_rallyAPIMajor": "2", 
    "_rallyAPIMinor": "0", 
    "Errors": ["Not authorized to perform action: Invalid key"], 
    "Warnings": [] 
}} 

我传递的有效载荷是如下

{ 
     "Name": "Ignore:Newly added testcase associated to a Story3", 
     "Description": "Test creation of Story3", 
     "Owner": "https://rally1.rallydev.com/slm/webservice/v2.0/user/3215613515", 
     "Objective": "Test objective of Story3", 
     "PreConditions": "1. Hi<br>2. Hello", 
     "Project": "1223451", 
     "Notes": "Adding a test case" 
    } 

请帮我解决这个问题。

添加样品请求

POST https://rally1.rallydev.com/slm/webservice/v2.0/testcase/create?key=abc123 ..... HTTP/1.1 接受编码:gzip,放气 内容类型:应用/ JSON 的Content-Length:464 主机:rally1.rallydev用户代理:Apache-HttpClient/4.1.1(java 1.5) Cookie:JSESSIONID = qs-app-07fv4cswgptt7b1vc3o58hztndw.qs-app-07; SERVERID = c1acc7f401011b9881d1497a9ef30b27acc4a1c9; __cfduid = d392a0428b5fa74f473cb1712c3d64d7a1483502577 COOKIE2:$版= 1

{ 
    "testcase": { 
     "Name": "Ignore:Newly added testcase associated to a Story3", 
     "Description": "Test creation of Story3", 
     "Owner": "https://rally1.rallydev.com/slm/webservice/v2.0/user/28138408395", 
     "Objective": "Test objective of Story3", 
     "WorkProduct": "https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement/61375703434", 
     "PreConditions": "1. Hi<br>2. Hello", 
     "Project": "/project/17133096258", 
     "Notes": "Adding a test case" 
    }`enter code here` 
} 
+0

json是有效的,但可能拉力web服务正在等待不同的东西。你能检查什么是web服务等待哪个JSON哪个格式是拉力web服务等待的? – tremendows

+0

以上错误消除了以下提到的“http://stackoverflow.com/questions/18620056/rally-json-io-error-creating-a-test-case-result”,但现在我得到了一个不同的错误 - “错误”:[“未授权执行操作:无效密钥”]。仅供参考,我尝试了不同的令牌(新创建的密钥)。 – Sizy

+1

为了使用POST创建对象,需要获取安全密钥;请参阅此处的webservices API文档:https://rally1.rallydev.com/slm/doc/webservice/authentication.jsp。或者,您可能希望使用API​​密钥代替基本身份验证;请参阅https://www.ca.com/us/services-support/ca-support/ca-support-online/knowledge-base-articles.TEC01000001898.html – user4211235

回答

0

是否SOAP UI客户管理Cookie?您需要确保您仍然使用同一个会话处理所有请求。通过key查询字符串参数传递的身份验证令牌需要与活动会话相匹配。如果您的请求只是重新传递基本身份验证凭据,它可能会生成一个新会话,导致该标记无效。通常在客户端启用cookie足以解决这个问题。这是我们提供的工具包管理它的方式。

+0

我发现它与Cookie无关(我之前推测过)。谢谢@凯尔。我现在有一个修复程序。非常感谢 – Sizy