如何使用RestFixture编写POST / PUT请求

时间:2015-04-03 06:35:15

标签: api rest post fitnesse fitnesse-slim

我正在尝试将smartrics-RestFixture-3.0-bin.zip用于 POST 请求,但由于某种原因它失败了。看起来像服务问题本身,但正如我正在学习Fitnees,不确定测试是否有任何问题。

任何人都可以分享一些细节,或使用演示REST API使用RestFixture / Wiki格式的POST休息请求示例 - http://www.thomas-bayer.com/sqlrest/CUSTOMER/

我的基于wiki的TC如下所示 - (我正在尝试添加ID = 20的客户数据)

'''Trying to add customer 20 entry'''
!| smartrics.rest.fitnesse.fixture.FitRestFixture | http://www.thomas-bayer.com/sqlrest/CUSTOMER/ |
| setBody | <CUSTOMER xmlns:xlink="http://www.w3.org/1999/xlink"><ID>20</ID><FIRSTNAME>Anne1</FIRSTNAME><LASTNAME>Miller1</LASTNAME><STREET>201 Upland Pl.</STREET><CITY>Lyon1</CITY></CUSTOMER> |
| POST    | /20| 200 | | |

我遇到错误:

<html><head><title>Apache Tomcat/7.0.26 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.26</h3></body></html>

请建议。谢谢!

更新时间:2015年4月6日

我试图使用POST方法添加新的CUSTOMER条目,这是不正确的,我应该使用PUT方法。今天当我尝试使用PUT方法添加新的CUSTOMER条目时,我得到了同样的错误:( ..

仅限WEB Service的问题。

2 个答案:

答案 0 :(得分:1)

服务是否正常工作,如果您以其他方式发送相同的正文,您会得到不同的响应吗? (当我将你的身体发送到同一个网址时,我会收到同样的错误。)

该错误似乎表明您正在调用的服务已损坏。有时这也可能是错误使用的结果。

目前您的问题似乎与FitNesse关系不大,而且您使用的服务更多。

答案 1 :(得分:1)

在我将setHeaders部分添加到我的wiki之前,我遇到了同样的错误。 请在setBody之后尝试:

| setHeaders | Content-Type:application / xml |

希望这有帮助。