From [email protected] on February 14, 2012 02:04:43
What steps will reproduce the problem? 1. Run the following code:
byte[] bytes = "Some Text".getBytes();
given()
.contentType("application/vnd.myitem+xml")
.body(bytes)
.put("http://localhost:8080/some/path/myitem/1");
(my real binary payload is larger which is partly why it's binary, but this demonstrates the principle) What is the expected output? What do you see instead? I expect a PUT to the server and corresponding response, instead I get the following stack trace:
No signature of method: com.jayway.restassured.internal.encoderregistry.RestAssuredEncoderRegistry.encodeForm() is applicable for argument types: ([B) values: [[83, 111, 109, 101, 32, 84, 101, 120, 116]] Possible solutions: encodeForm(java.lang.String), encodeForm(java.util.Map), encodeJSON(java.lang.Object), encodeStream(java.lang.Object), encodeText(java.lang.Object), encodeXML(java.lang.Object)
groovy.lang.MissingMethodException: No signature of method: com.jayway.restassured.internal.encoderregistry.RestAssuredEncoderRegistry.encodeForm() is applicable for argument types: ([B) values: [[83, 111, 109, 101, 32, 84, 101, 120, 116]]
Possible solutions: encodeForm(java.lang.String), encodeForm(java.util.Map), encodeJSON(java.lang.Object), encodeStream(java.lang.Object), encodeText(java.lang.Object), encodeXML(java.lang.Object)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:54)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:59)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.setGroovyObjectProperty(ScriptBytecodeAdapter.java:533)
at com.jayway.restassured.internal.RequestSpecificationImpl$_sendHttpRequest_closure10.doCall(RequestSpecificationImpl.groovy:800)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:273)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at groovy.lang.Closure.call(Closure.java:282)
at groovy.lang.Closure.call(Closure.java:295)
at groovyx.net.http.HTTPBuilder.doRequest(HTTPBuilder.java:425)
at groovyx.net.http.HTTPBuilder.request(HTTPBuilder.java:376)
at groovyx.net.http.HTTPBuilder$request.call(Unknown Source)
at com.jayway.restassured.internal.RequestSpecificationImpl.sendHttpRequest(RequestSpecificationImpl.groovy:794)
at com.jayway.restassured.internal.RequestSpecificationImpl.this$2$sendHttpRequest(RequestSpecificationImpl.groovy)
at com.jayway.restassured.internal.RequestSpecificationImpl$this$2$sendHttpRequest.callCurrent(Unknown Source)
at com.jayway.restassured.internal.RequestSpecificationImpl.sendRequest(RequestSpecificationImpl.groovy:717)
at com.jayway.restassured.internal.RequestSpecificationImpl.this$2$sendRequest(RequestSpecificationImpl.groovy)
at com.jayway.restassured.internal.RequestSpecificationImpl$this$2$sendRequest.call(Unknown Source)
at com.jayway.restassured.internal.filter.RootFilter.filter(RootFilter.groovy:28)
at com.jayway.restassured.filter.Filter$filter.call(Unknown Source)
at com.jayway.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:45)
at com.jayway.restassured.filter.FilterContext$next.call(Unknown Source)
at com.jayway.restassured.internal.RequestSpecificationImpl.invokeFilterChain(RequestSpecificationImpl.groovy:608)
at com.jayway.restassured.internal.RequestSpecificationImpl$invokeFilterChain.callCurrent(Unknown Source)
at com.jayway.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:957)
at com.jayway.restassured.internal.RequestSpecificationImpl.this$2$applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy)
at com.jayway.restassured.internal.RequestSpecificationImpl$this$2$applyPathParamsAndSendRequest.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
at com.jayway.restassured.internal.RequestSpecificationImpl.put(RequestSpecificationImpl.groovy:124)
at com.myorg.project.test.IntegrationTest.testThatBreaks(IntegrationTest.java:100)
at net.sf.antcontrib.logic.TryCatchTask.execute(TryCatchTask.java:207) What version of the product are you using? On what operating system? version 1.5
Windows Please provide any additional information below. I also have set global BASIC auth and a baseURI that I'm overriding here, plus a RestArsured.registerParser for my content type
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=160
Priority-Medium 1.7 imported bug