I tried the same without changing the URI, only changing the method and it didn't work neither. I changed the original method to HEAD (changing the JAX-RS annotated interface), changing it to DELETE in the filter. The client sends HEAD requests anyway. Why is not my filter changing the request method?
[image: i2cat] Julio C. Barrera Juez Office phone: +34 93 357 99 27 Distributed Applications and Networks Area (DANA) i2CAT Foundation, Barcelona, Spain http://dana.i2cat.net On 17 October 2013 16:37, Sergey Beryozkin <[email protected]> wrote: > On 17/10/13 14:49, Julio Carlos Barrera Juez wrote: > >> Bad news then. >> > > I'm not sure why did you expect DELETE with body to work, we discussed it > yesterday and confirmed it was not yet possible, please make sure you watch > that JIRA I linked to to try it once it gets fixed (though I don't know yet > how feasible it is) > > > Anyway the filter does not work, because the >> calls requestContext.setUri(...) did not change the real URI used at the >> end. But the method requestContext.setMEthod(...) worked... >> >> Right, setUri does not work from client filters, thanks for catching it. > I've been certain a test is there, but it is only pre-matching container > request filters which are tested on setRequestUri, so it needs to be fixed > > Cheers, Sergey > >> i2cat >> Julio C. Barrera Juez >> Office phone: +34 93 357 99 27 >> Distributed Applications and Networks Area (DANA) >> i2CAT Foundation, Barcelona, Spain >> http://dana.i2cat.net <http://dana.i2cat.net/> >> >> >> On 17 October 2013 13:45, Sergey Beryozkin <[email protected] >> <mailto:[email protected]>> wrote: >> >> Hi >> >> The method is definitely returned in CXF 2.7.7, I've just added a >> test confirming that. A lot of fixes went into the client-side 2.0 >> code, some of it is still on the trunk only as they deal more with >> various very edgy TCK issues, I'm not sure yet if they should make >> to CXF 2.7.8 or not, but a method getter works in 2.7.7 >> >> Re the actual exception, I guess this is because we don't have >> DELETE with body supported yet >> >> Sergey >> >> On 17/10/13 11:51, Julio Carlos Barrera Juez wrote: >> >> Hi Sergey. >> >> First of all, excuse me by the duplicate message. >> >> I have just written a Filter like this: >> >> public class PostToDeleteWithBodyFilter implements >> ClientRequestFilter { >> >> public final static StringEXTRA_PATH= "/mutatePOSTtoDELETE"; >> >> >> @Override >> public void filter(ClientRequestContext requestContext) throws >> IOException { >> String method = requestContext.getMethod(); >> String path = requestContext.getUri().__**getPath(); >> >> >> if (path != null && path.endsWith(EXTRA_PATH)) { >> // remove EXTRA_PATH >> requestContext.setUri(URI.__**create(path.substring(0, >> path.length() - >> >> EXTRA_PATH.length()))); >> // transform POST into DELETE >> requestContext.setMethod("__**DELETE"); >> >> } >> } >> } >> >> I have some issues again. The method var is null. And the most >> important, an exception is thrown when I use this filter: >> >> Caused by: java.io.IOException: IOException invoking >> http://<my_server>/real_path/_**_mutatePOSTtoDELETE: insufficient >> data written >> at >> sun.reflect.__**NativeConstructorAccessorImpl.**__newInstance0(Native >> Method) >> at >> sun.reflect.__**NativeConstructorAccessorImpl.**__newInstance(__* >> *NativeConstructorAccessorImpl.**__java:39) >> at >> sun.reflect.__**DelegatingConstructorAccessorI** >> __mpl.newInstance(__**DelegatingConstructorAccessorI**__mpl.java:27) >> at >> java.lang.reflect.Constructor.**__newInstance(Constructor.** >> java:__513) >> at >> org.apache.cxf.transport.http.**__HTTPConduit$__** >> WrappedOutputStream.__**mapException(HTTPConduit.java:**__1338) >> at >> org.apache.cxf.transport.http.**__HTTPConduit$__** >> WrappedOutputStream.close(__**HTTPConduit.java:1322) >> at >> org.apache.cxf.transport.__**AbstractConduit.close(__** >> AbstractConduit.java:56) >> at >> org.apache.cxf.transport.http.**__HTTPConduit.close(** >> HTTPConduit.__java:622) >> at >> org.apache.cxf.interceptor.__**MessageSenderInterceptor$__** >> MessageSenderEndingInterceptor**__.handleMessage(__** >> MessageSenderInterceptor.java:**__62) >> >> ... 31 more >> Caused by: java.io.IOException: insufficient data written >> at >> sun.net.www.protocol.http.__**HttpURLConnection$__** >> StreamingOutputStream.close(__**HttpURLConnection.java:2861) >> at >> sun.net.www.protocol.http.__**HttpURLConnection.__** >> getInputStream(__**HttpURLConnection.java:1175) >> at >> java.net.HttpURLConnection.__**getResponseCode(__** >> HttpURLConnection.java:379) >> at >> org.apache.cxf.transport.http.**__URLConnectionHTTPConduit$__** >> URLConnectionWrappedOutputStre**__am.getResponseCode(__** >> URLConnectionHTTPConduit.java:**__260) >> at >> org.apache.cxf.transport.http.**__HTTPConduit$__** >> WrappedOutputStream.__**handleResponseInternal(__**HTTPConduit.java:1517) >> at >> org.apache.cxf.transport.http.**__HTTPConduit$__** >> WrappedOutputStream.__**handleResponse(HTTPConduit.__**java:1490) >> at >> org.apache.cxf.transport.http.**__HTTPConduit$__** >> WrappedOutputStream.close(__**HTTPConduit.java:1309) >> >> ... 34 more >> >> I tried to detect the special message to be mutated using an >> extra path >> string appended to the real path. It worked, it was detected, but >> something went wrong... >> >> i2cat >> Julio C. Barrera Juez >> Office phone: +34 93 357 99 27 <tel:%2B34%2093%20357%2099%**2027> >> Distributed Applications and Networks Area (DANA) >> i2CAT Foundation, Barcelona, Spain >> http://dana.i2cat.net <http://dana.i2cat.net/> >> >> >> >> On 17 October 2013 12:17, Sergey Beryozkin <[email protected] >> <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>**> >> wrote: >> >> Hi >> >> Can you register an instance of JAX-RS 2.0 >> ClientRequestFilter (as a >> provider) and set your method & request URI if needed there ? >> That should make it simpler for you. >> >> Re using a custom CXF interceptor, it really should have the >> properties which you check already set on the message passed >> to >> handleMessage(), that message is an out message, so you >> should have >> "message == message.getExchange().____**getOutMessage()" >> hold >> >> true. >> >> >> Cheers, Sergey >> >> >> On 17/10/13 08:11, Julio Carlos Barrera Juez wrote: >> >> I'm trying to workaround this problem with an output CXF >> interceptor. I >> have modified the DELETE request to be a POST request >> allowing a >> body. I >> want that my interceptor will detect the POST request >> and will >> change it to >> a DELETE. I'm having some problems to achieve it. How >> can the >> interceptor >> modify the message object to achieve my goal? >> >> I have written something like this: >> >> public class PostToDeleteWithBodyIntercepto**____r >> extends >> AbstractPhaseInterceptor<____**Message> { >> >> >> >> public final static String EXTRA_PATH = >> "/mutatePOSTtoDELETE"; >> >> public PostToDeleteWithBodyIntercepto**____r() { >> >> >> super(Phase.PRE_PROTOCOL); >> } >> >> public void handleMessage(Message message) { >> String path = (String) >> >> message.getExchange().____**getOutMessage().get(Message.__** >> __REQUEST_URI); >> String method = (String) >> >> message.getExchange().____**getOutMessage().get(Message.__** >> __HTTP_REQUEST_METHOD); >> >> >> if (method != null && method.equals("POST") && path >> != null && >> path.endsWith(EXTRA_PATH)) { >> // TODO remove EXTRA_PATH >> // TODO transform POST into DELETE >> } >> } >> } >> >> I have a few doubts: >> >> - I don't know how to modify the path and the >> method of the >> request. I >> >> have tried modifying the content of the >> - I don't know what is the exact phase where apply >> it. >> - Why do I need to look for exchange, out message >> to see >> current path >> >> and method? It should be in the message, but the >> values are >> null. >> >> Thank you! >> >> [image: i2cat] >> Julio C. Barrera Juez >> Office phone: +34 93 357 99 27 >> <tel:%2B34%2093%20357%2099%**2027> <tel:%2B34%2093%20357%2099%__* >> *2027> >> >> >> Distributed Applications and Networks Area (DANA) >> i2CAT Foundation, Barcelona, Spain >> http://dana.i2cat.net >> >> >> On 16 October 2013 16:54, Sergey Beryozkin >> <[email protected] <mailto:[email protected]> >> <mailto:[email protected] >> >> <mailto:[email protected]>>**> wrote: >> >> Hi, >> >> On 16/10/13 15:36, Julio Carlos Barrera Juez wrote: >> >> Yes, the server is not under my control. I want >> to >> develop a client >> because >> I like how CXF works and it is a dependency for >> other >> issues in my >> project. >> Obviously I would never develop a service with >> body in >> DELETE requests. >> >> The, taking into account that I'm using CXF >> 2.7.x, is it >> possible to >> workaround my problem using CXF? >> >> Probably not at the moment, >> >> I've opened >> >> https://issues.apache.org/**__**__jira/browse/CXF-5337<https://issues.apache.org/**____jira/browse/CXF-5337> >> >> <https://issues.apache.org/**_**_jira/browse/CXF-5337<https://issues.apache.org/**__jira/browse/CXF-5337> >> > >> <https://issues.apache.org/**_** >> _jira/browse/CXF-5337<https://issues.apache.org/**__jira/browse/CXF-5337> >> >> <https://issues.apache.org/****jira/browse/CXF-5337<https://issues.apache.org/**jira/browse/CXF-5337> >> >><https:/**/____issues.apache.org/jira/__**browse/__CXF-5337<http://issues.apache.org/jira/__browse/__CXF-5337> >> >> <http://issues.apache.org/**jira/browse/__CXF-5337<http://issues.apache.org/jira/browse/__CXF-5337> >> > >> >> >> <https://issues.apache.org/__**jira/browse/CXF-5337<https://issues.apache.org/__jira/browse/CXF-5337> >> >> >> <https://issues.apache.org/**jira/browse/CXF-5337<https://issues.apache.org/jira/browse/CXF-5337> >> >>> >> >> >> Please watch it. >> >> In meantime, may be it is possible to 'tunnel' it, >> example, >> use POST but >> set some header with the real/intended HTTP verb >> such as >> DELETE, the target >> server would need to replace POST with DELETE, the >> easy way >> is to say >> create Servlet filter which will use >> HTTPServletRequest >> wrapper to return >> DELETE, some work is needed there but no changes to >> the >> server code itself >> will be required. >> >> Otherwise - try snapshots once CXF-5337 gets resolved >> >> Thanks, Sergey >> >> Thank you Sergey! >> >> [image: i2cat] >> Julio C. Barrera Juez >> Office phone: +34 93 357 99 27 >> <tel:%2B34%2093%20357%2099%**2027> >> <tel:%2B34%2093%20357%2099%__**2027> >> >> >> Distributed Applications and Networks Area (DANA) >> i2CAT Foundation, Barcelona, Spain >> http://dana.i2cat.net >> >> >> On 16 October 2013 16:23, Sergey Beryozkin >> <[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> >> <mailto:[email protected]>>**> wrote: >> >> Right, looks like the following has to be >> done with >> HTTPClient: >> >> >> https://code.google.com/p/******____rest-client/source/browse/** >> ** <https://code.google.com/p/****____rest-client/source/browse/**> >> >> <https://code.google.com/p/******__rest-client/source/browse/****<https://code.google.com/p/****__rest-client/source/browse/**> >> > >> >> >> <https://code.google.com/p/*****__*rest-client/source/browse/****<https://code.google.com/p/***__*rest-client/source/browse/**> >> >> <https://code.google.com/p/******rest-client/source/browse/**<https://code.google.com/p/****rest-client/source/browse/**> >> >**>__<h__ttps://code.google.com/**p/*__*__rest-client/source/** >> browse/*__*<http://code.google.com/p/*__*__rest-client/source/browse/*__*> >> >> <http://code.google.com/p/**__**rest-client/source/browse/**<http://code.google.com/p/**__rest-client/source/browse/**> >> > >> >> >> <https://code.google.com/p/**_**_rest-client/source/browse/**<https://code.google.com/p/**__rest-client/source/browse/**> >> >> <https://code.google.com/p/****rest-client/source/browse/**<https://code.google.com/p/**rest-client/source/browse/**> >> >>**> >> >> restclient-lib/src/main/java/***____***org/wiztools/** >> restclient/____http/**** >> >> EntityEnclosingDelete.java<___**_htt**ps://code.google.com/p/_** >> ___rest-** <http://code.google.com/p/____rest-**> >> >> <http://code.google.com/p/__**rest-**<http://code.google.com/p/__rest-**> >> > >> >> <http://code.google.com/p/__**rest-**<http://code.google.com/p/__rest-**> >> <http://code.google.com/p/**rest-**<http://code.google.com/p/rest-**> >> >> >> >> client/source/browse/**____**restclient-lib/src/main/java/*** >> ____* >> >> org/wiztools/restclient/http/***____*EntityEnclosingDelete.** >> java<__ht__tps://code.google.**com/p/__rest-__client/source/** >> browse/____restclient-lib/src/**main/java/____org/wiztools/** >> restclient/http/____**EntityEnclosingDelete.java<http://code.google.com/p/__rest-__client/source/browse/____restclient-lib/src/main/java/____org/wiztools/restclient/http/____EntityEnclosingDelete.java> >> <http://code.google.com/p/**rest-__client/source/browse/__** >> restclient-lib/src/main/java/_**_org/wiztools/restclient/http/** >> __EntityEnclosingDelete.java<http://code.google.com/p/rest-__client/source/browse/__restclient-lib/src/main/java/__org/wiztools/restclient/http/__EntityEnclosingDelete.java> >> > >> >> >> <https://code.google.com/p/__**rest-client/source/browse/__** >> restclient-lib/src/main/java/_**_org/wiztools/restclient/http/** >> __EntityEnclosingDelete.java<https://code.google.com/p/__rest-client/source/browse/__restclient-lib/src/main/java/__org/wiztools/restclient/http/__EntityEnclosingDelete.java> >> >> <https://code.google.com/p/**rest-client/source/browse/** >> restclient-lib/src/main/java/**org/wiztools/restclient/http/** >> EntityEnclosingDelete.java<https://code.google.com/p/rest-client/source/browse/restclient-lib/src/main/java/org/wiztools/restclient/http/EntityEnclosingDelete.java> >> >>> >> >> >> >> >> This is the code based on the advice from >> HttpClient >> forums. >> >> I guess we should check if CXF Async >> Conduit can be >> updated respectively >> >> By the way, I'm assuming you have to do >> DELETE with >> a body because you >> have some existing/legacy service expecting >> it this >> way ? Now and then >> users ask about it, and I don't mind to get >> the >> Async HTTP conduit >> updated >> a bit anyway, but if you have say a CXF >> server >> listening, then I'm sure >> there could be an easier way :-) >> >> Cheers, Sergey >> >> >> On 16/10/13 15:11, Julio Carlos Barrera >> Juez wrote: >> >> Looking for logs, I've realized that the >> property >> is producing changes. >> >> I >> mean the Async HTTP client is being used. >> However my DELETE request has >> no >> body. My client interface is JAX-RS >> annotated, >> my Resource class is JaxB >> annotated: >> >> @Path("/server/path") >> @DELETE >> >> @Consumes(MediaType.****____**APPLICATION_JSON) >> >> >> >> >> public void >> deleteResource(Resource resource); >> >> I have a create method working with de >> same >> configuration and it works: >> >> @Path("/server/path") >> @POST >> >> @Consumes(MediaType.****____**APPLICATION_JSON) >> >> >> >> >> public void >> createResource(Resource resource); >> >> I'm using Jackson as JSON serializer, >> but I >> guess it has no relation >> with >> this problem. >> >> These log lines show that the DELETE >> request has >> content-lenght 0 and >> the Async HTTP client is being used >> >> [I/O dispatcher 2] DEBUG >> >> org.apache.cxf.transport.http.**____****asyncclient.****____** >> AsyncHTTPConduitFactory$2 >> >> >> >> - >> >> Connection leased: [id: 2][route: >> {}->http://my_server][total kept >> alive: >> 0; route allocated: 1 of 1000; total >> allocated: >> 0 of 5000] >> [I/O dispatcher 2] DEBUG >> >> org.apache.cxf.transport.http.**____****asyncclient.****____** >> AsyncHTTPConduitFactory$3 >> >> >> >> - >> [exchange: 3] Connection allocated: >> >> [id:2][route:{}->http:/my_******____server][state:null] >> >> >> [I/O dispatcher 2] DEBUG >> org.apache.http.impl.nio.**** >> reactor.IOSessionImpl >> - >> http-outgoing-2 192.168.254.86:35152 >> <http://192.168.254.86:35152> >> >> <http://192.168.254.86:35152><**__->server___****ip[ACTIVE][r:** >> ]: >> >> >> Set >> attribute >> http.nio.exchange-handler >> [I/O dispatcher 2] DEBUG >> org.apache.http.impl.nio.**** >> reactor.IOSessionImpl >> - >> http-outgoing-2 192.168.254.86:35152 >> <http://192.168.254.86:35152> >> >> <http://192.168.254.86:35152><**__->server___****ip[ACTIVE][** >> rw:]__: >> >> >> Event >> set [w] >> [I/O dispatcher 2] DEBUG >> org.apache.http.impl.nio.**** >> reactor.IOSessionImpl >> - >> http-outgoing-2 192.168.254.86:35152 >> <http://192.168.254.86:35152> >> >> <http://192.168.254.86:35152><**__->server___****ip[ACTIVE][** >> rw:]__: >> >> >> Set >> >> >> attribute http.nio.http-exchange-state >> [I/O dispatcher 2] DEBUG >> >> org.apache.cxf.transport.http.**____****asyncclient.****____** >> AsyncHTTPConduitFactory$3 >> >> >> >> - >> >> [exchange: 3] Attempt 1 to execute >> request >> [I/O dispatcher 2] DEBUG >> org.apache.http.impl.nio.**** >> reactor.IOSessionImpl >> - >> http-outgoing-2 192.168.254.86:35152 >> <http://192.168.254.86:35152> >> >> <http://192.168.254.86:35152><**__->server___****ip[ACTIVE][** >> rw:]__: >> >> >> Set >> timeout >> 60000 >> [I/O dispatcher 2] DEBUG >> org.apache.http.client.**** >> >> protocol.RequestAuthCache >> >> - >> Auth cache not set in the context >> [I/O dispatcher 2] DEBUG >> >> org.apache.http.client.****___**_protocol.****____** >> RequestTargetAuthentication >> >> >> - >> >> Target >> >> auth >> state: UNCHALLENGED >> [I/O dispatcher 2] DEBUG >> >> org.apache.http.client.****___**_protocol.****____** >> RequestProxyAuthentication >> >> >> - >> >> Proxy >> >> auth >> state: UNCHALLENGED >> [I/O dispatcher 2] DEBUG >> org.apache.http.headers >> - http-outgoing-2 >> * >> DELETE* /server/path HTTP/1.1 >> >> [I/O dispatcher 2] DEBUG >> org.apache.http.headers >> - http-outgoing-2 >> >> Accept: text/plain >> [I/O dispatcher 2] DEBUG >> org.apache.http.headers >> - http-outgoing-2 >> >> User-Agent: Apache CXF 2.7.4 >> [I/O dispatcher 2] DEBUG >> org.apache.http.headers >> - http-outgoing-2 >> >> *Content-Length: >> 0* >> >> [I/O dispatcher 2] DEBUG >> org.apache.http.headers >> - http-outgoing-2 >> >> Host: >> my_server >> [I/O dispatcher 2] DEBUG >> org.apache.http.headers >> - http-outgoing-2 >> >> Connection: Keep-Alive >> >> [image: i2cat] >> Julio C. Barrera Juez >> Office phone: +34 93 357 99 27 >> <tel:%2B34%2093%20357%2099%**2027> >> <tel:%2B34%2093%20357%2099%__**2027> >> >> >> Distributed Applications and Networks >> Area (DANA) >> i2CAT Foundation, Barcelona, Spain >> http://dana.i2cat.net >> >> >> On 16 October 2013 15:17, Julio Carlos >> Barrera >> Juez < >> [email protected] <mailto:juliocarlos.barrera@** >> i2cat.net <[email protected]>> >> <mailto:juliocarlos.barrera@__** >> i2cat.net <http://i2cat.net> >> >> >> <mailto:juliocarlos.barrera@**i2cat.net<[email protected]>>>> >> wrote: >> >> I don't know how to install CXF >> Async HTTP >> transport. I have the maven >> >> artifact in my project >> dependencies, but >> nothing else. >> >> [image: i2cat] >> Julio C. Barrera Juez >> Office phone: +34 93 357 99 27 >> <tel:%2B34%2093%20357%2099%**2027> >> <tel:%2B34%2093%20357%2099%__**2027> >> >> >> Distributed Applications and >> Networks Area >> (DANA) >> i2CAT Foundation, Barcelona, Spain >> http://dana.i2cat.net >> >> >> On 16 October 2013 13:14, Sergey >> Beryozkin >> <[email protected] >> <mailto:[email protected]> >> <mailto:[email protected] >> >> <mailto:[email protected]>>**> >> >> wrote: >> >> I guess you don't have CXF >> Async HTTP >> transport installed ? >> >> Other than that I've no idea, if >> it >> won;t work with the Async module >> then >> I guess it is possible to do >> Sergey >> >> On 16/10/13 11:49, Julio Carlos >> Barrera >> Juez wrote: >> >> I tried to use this >> information >> before, but I don't know how to >> solve >> >> my >> problem. >> >> I have something like this: >> >> ProxyClassLoader >> classLoader = new >> ProxyClassLoader(); >> >> >> classLoader.addLoader(******__**__IServiceInterface.class.**** >> getClassLoader()); >> >> classLoader.addLoader(******__**__JAXRSClientFactoryBean.** >> class.*____***** >> >> >> >> >> >> getClassLoader()); >> >> JAXRSClientFactoryBean bean >> = new >> JAXRSClientFactoryBean(); >> bean.setAddress(uri); >> >> bean.setResourceClass(******__**__IServiceInterface.class); >> >> >> bean.setClassLoader(******____**classLoader); >> >> >> >> >> >> >> client (IServiceInterface) >> bean.create(); >> >> Then I can use the client >> object as >> usual. But if fails sending >> DELETE >> requests with body. >> >> I tried doing this: >> >> ProxyClassLoader >> classLoader = new >> ProxyClassLoader(); >> >> >> classLoader.addLoader(******__**__IServiceInterface.class.**** >> getClassLoader()); >> >> classLoader.addLoader(******__**__JAXRSClientFactoryBean.** >> class.*____***** >> >> >> >> >> >> getClassLoader()); >> >> JAXRSClientFactoryBean bean >> = new >> JAXRSClientFactoryBean(); >> bean.setAddress(uri); >> >> bean.setResourceClass(******__**__IServiceInterface.class); >> >> >> bean.setClassLoader(******____**classLoader); >> >> >> >> >> >> >> // allow body in DELETE >> requests >> Client client = >> bean.create(); >> >> >> WebClient.getConfig(client).****____****getRequestContext().** >> put(__"*__* >> >> >> use.**** >> async.http.conduit", >> true); >> >> (IServiceInterface) >> >> client.******____**whateverMethodThatSendsDelete(**____** >> >> >> >> ****); >> >> >> >> But it didn't work. >> >> What am I missing? >> >> [image: i2cat] >> Julio C. Barrera Juez >> Office phone: +34 93 357 99 >> 27 <tel:%2B34%2093%20357%2099%**2027> >> >> <tel:%2B34%2093%20357%2099%__**2027> >> >> >> Distributed Applications and >> Networks Area (DANA) >> i2CAT Foundation, >> Barcelona, Spain >> http://dana.i2cat.net >> >> >> On 16 October 2013 12:00, >> Sergey >> Beryozkin >> <[email protected] <mailto:[email protected]> >> >> <mailto:[email protected] <mailto:[email protected]>>**> >> >> >> wrote: >> >> Hi >> >> >> On 16/10/13 09:18, >> Julio Carlos >> Barrera Juez wrote: >> >> Hi. >> >> >> I'm creating a REST >> client >> using >> JAXRSClientFactoryBean and >> ProxyClassLoader >> based on a >> JAXRS annotated >> Java interface. >> >> I want to send a >> DELETE with >> body, which is not >> recommended by >> RESTful >> philosophy, but it is >> allowed by HTTP 1.1 >> RFC. >> >> The body is not >> sent by the >> client and I have >> read a lot of >> problems >> to >> allow it. >> >> Is it possible send >> a body >> in my DELETE >> requests with this >> configuration? >> >> Please check >> this thread >> >> >> http://cxf.547215.n5.nabble.****____******com/JaxRS-Client-** >> with-__** >> >> Deletes-**** >> >> td5731444.html<http://cxf.******____54**7215.n5.nabble.com/__** >> JaxRS-*__*** <http://7215.n5.nabble.com/__JaxRS-*__***> >> >> <http://7215.n5.nabble.com/**JaxRS-*__***<http://7215.n5.nabble.com/JaxRS-*__***> >> > >> >> >> <http://7215.n5.nabble.com/__**JaxRS-****<http://7215.n5.nabble.com/__JaxRS-****> >> >> <http://7215.n5.nabble.com/**JaxRS-****<http://7215.n5.nabble.com/JaxRS-****> >> >><http://7215.n5.__**nabble.com/__JaxRS-**<http://nabble.com/__JaxRS-**> >> >> <http://7215.n5.nabble.com/__**JaxRS-**<http://7215.n5.nabble.com/__JaxRS-**> >> > >> >> >> <http://7215.n5.nabble.com/__**JaxRS-**<http://7215.n5.nabble.com/__JaxRS-**> >> >> <http://7215.n5.nabble.com/**JaxRS-**<http://7215.n5.nabble.com/JaxRS-**> >> >>> >> >> >> <http://547215.n5.nabble.com/***____*JaxRS-**<http://547215.n5.nabble.com/*____*JaxRS-**> >> >> <http://547215.n5.nabble.com/***__*JaxRS-**<http://547215.n5.nabble.com/*__*JaxRS-**> >> > >> >> >> <http://547215.n5.nabble.com/***__*JaxRS-**<http://547215.n5.nabble.com/*__*JaxRS-**> >> >> <http://547215.n5.nabble.com/****JaxRS-**<http://547215.n5.nabble.com/**JaxRS-**> >> >><http://547215.n5._**___nabble.com/JaxRS-** >> <http://nabble.com/JaxRS-**> >> >> >> <http://547215.n5.nabble.com/_**_JaxRS-**<http://547215.n5.nabble.com/__JaxRS-**> >> >> <http://547215.n5.nabble.com/**JaxRS-**<http://547215.n5.nabble.com/JaxRS-**> >> >>> >> >> >> >> Client-with-Deletes-td5731444.**____******html<http://cxf.__**547215. >> <http://cxf.547215.>__n5. >> <http://cxf.547215.n5 >> .>**** >> >> nabble.com/JaxRS-Client-with-***____***Deletes-td5731444.html<http://nabble.com/JaxRS-Client-with-*____***Deletes-td5731444.html> >> <http://nabble.com/JaxRS-**Client-with-*__***Deletes-** >> td5731444.html<http://nabble.com/JaxRS-Client-with-*__***Deletes-td5731444.html> >> > >> >> <http://nabble.com/JaxRS-__**Client-with-****Deletes-__** >> td5731444.html<http://nabble.com/JaxRS-__Client-with-****Deletes-__td5731444.html> >> <http://nabble.com/JaxRS-**Client-with-****Deletes-** >> td5731444.html<http://nabble.com/JaxRS-Client-with-****Deletes-td5731444.html> >> >><http__://nabb**l__e.com/JaxRS-Client-__with-*** >> *__Deletes-td5731444.html<http://nabbl__e.com/JaxRS-Client-__with-**__Deletes-td5731444.html> >> <http://nabble.com/JaxRS-**Client-__with-**Deletes-** >> td5731444.html<http://nabble.com/JaxRS-Client-__with-**Deletes-td5731444.html> >> > >> >> <http://nabble.com/JaxRS-__**Client-with-**Deletes-__** >> td5731444.html<http://nabble.com/JaxRS-__Client-with-**Deletes-__td5731444.html>< >> http://nabble.com/JaxRS-**Client-with-**Deletes-**td5731444.html<http://nabble.com/JaxRS-Client-with-**Deletes-td5731444.html> >> >>> >> >> <http:/**/cxf.547215.n5.__nabb**__le.com/**JaxRS-Client-__** >> with-__Deletes-**<http://nabb__le.com/**JaxRS-Client-__with-__Deletes-**> >> >> <http://nabble.com/**JaxRS-**Client-__with-Deletes-**<http://nabble.com/**JaxRS-Client-__with-Deletes-**> >> > >> >> <http://cxf.547215.n5.nabble._**_com/**JaxRS-Client-with-__** >> Deletes-** >> <http://cxf.547215.n5.nabble.**com/**JaxRS-Client-with-** >> Deletes-**<http://cxf.547215.n5.nabble.com/**JaxRS-Client-with-Deletes-**> >> >> >> >> >> td5731444.html<http://cxf.__54**__7215.n5.nabble.com/JaxRS-___** >> _Client-with-Deletes-**td5731444.____html<http://54__7215.n5.nabble.com/JaxRS-____Client-with-Deletes-td5731444.____html> >> <http://547215.n5.nabble.com/**JaxRS-__Client-with-Deletes-** >> td5731444.__html<http://547215.n5.nabble.com/JaxRS-__Client-with-Deletes-td5731444.__html> >> > >> >> >> <http://cxf.547215.n5.nabble._**_com/JaxRS-Client-with-** >> Deletes-__td5731444.html >> >> <http://cxf.547215.n5.nabble.**com/JaxRS-Client-with-Deletes-** >> td5731444.html<http://cxf.547215.n5.nabble.com/JaxRS-Client-with-Deletes-td5731444.html> >> >>> >> >> >> >> >> >> >> >> >> Cheers, Sergey >> >> >> >> >> Thank you! >> >> >> Regards, Julio >> >> >> [image: i2cat] >> Julio C. Barrera Juez >> Office phone: +34 >> 93 357 99 >> 27 >> >> <tel:%2B34%2093%20357%2099%__**2027> >> >> >> Distributed >> Applications and >> Networks Area (DANA) >> i2CAT Foundation, >> Barcelona, >> Spain >> http://dana.i2cat.net >> >> >> >> >> >> >> -- >> >> Sergey Beryozkin >> >> Talend Community Coders >> http://coders.talend.com/ >> >> Blog: >> http://sberyozkin.blogspot.com >> >> >> >> >> >> >> -- >> Sergey Beryozkin >> >> Talend Community Coders >> http://coders.talend.com/ >> >> Blog: http://sberyozkin.blogspot.com >> >> >> >> >> -- >> Sergey Beryozkin >> >> Talend Community Coders >> http://coders.talend.com/ >> >> Blog: http://sberyozkin.blogspot.com >> >> >> >> >> >> >> > >
