[
https://issues.apache.org/jira/browse/CXF-5675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13963348#comment-13963348
]
David J. M. Karlsen commented on CXF-5675:
------------------------------------------
{noformat}
javax.ws.rs.ProcessingException: java.lang.ClassCastException: java.net.URI
cannot be cast to java.lang.String
at
org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:1174)
at org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:1138)
at
org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1075)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:869)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:840)
at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:307)
at org.apache.cxf.jaxrs.client.WebClient.post(WebClient.java:316)
at
com.davidkarlsen.traxidx.srv.service.blob.BlobServiceTest.postFile(BlobServiceTest.java:61)
at
com.davidkarlsen.traxidx.srv.service.blob.BlobServiceTest.assertInitialAddBlobIs201(BlobServiceTest.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at
org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
at
org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83)
at
org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:232)
at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:89)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at
org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at
org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:175)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
Caused by: java.lang.ClassCastException: java.net.URI cannot be cast to
java.lang.String
at
org.apache.cxf.jaxrs.client.AbstractClient.setResponseBuilder(AbstractClient.java:389)
at
org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:1151)
... 36 more
{noformat}
I should add that I´m runnning localtransport
> java.lang.ClassCastException: java.net.URI cannot be cast to java.lang.String
> when adding Location to Response
> --------------------------------------------------------------------------------------------------------------
>
> Key: CXF-5675
> URL: https://issues.apache.org/jira/browse/CXF-5675
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 3.0.0-milestone2
> Reporter: David J. M. Karlsen
>
> Exception:
> java.lang.ClassCastException: java.net.URI cannot be cast to java.lang.String
> Test:
> {code}
> Response response = getWebClient()
> .path("/blob")
> .type(MediaType.MULTIPART_FORM_DATA)
> .post(multipartBody);
> {code}
> serverside resource:
> {code}
> URI blobId =
> UriBuilder.fromResource(getClass()).build(gridFSDBFile.getId());
> return Response.created(blobId).build();
> {code}
> because inside WebClient handleResponse -> AbstractClient the values are
> assumed to be string arrays, but is an URI object:
> {code}
> boolean splitHeaders =
>
> MessageUtils.isTrue(outMessage.getContextualProperty(HEADER_SPLIT_PROPERTY));
> for (Map.Entry<String, List<String>> entry :
> protocolHeaders.entrySet()) {
> if (null == entry.getKey()) {
> continue;
> }
> if (entry.getValue().size() > 0) {
> if (HttpUtils.isDateRelatedHeader(entry.getKey())) {
> currentResponseBuilder.header(entry.getKey(),
> entry.getValue().get(0));
> continue;
> }
> for (String val : entry.getValue()) {
> if (splitHeaders) {
> String[] values;
> if (val == null || val.length() == 0) {
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)