Hi, I was successful doing it in the below two ways - Using ClientRequest and execute the method (POST). In this case Proxy is not used. - Change the interface In both cases there was no need to override Executor.exeucte() for this issue.
Thank you for the support. Thank you, Malaya Kishore --- On Tue, 1/8/13, Bill Burke <bbu...@redhat.com> wrote: > From: Bill Burke <bbu...@redhat.com> > Subject: Re: [Resteasy-users] Query of RestEasy Media Parsing > To: resteasy-users@lists.sourceforge.net > Date: Tuesday, January 8, 2013, 7:48 AM > 1) It is not a requirement to use a > proxy > 2) No reason you can't have a different proxy for your > client > 3) No reason you can't change your server-side class that > implements > this interface to have a getXML() and getJSON() methods. > > IMO, I think what you all are doing is a hack. > > On 1/8/2013 2:02 AM, Dieter Cailliau wrote: > > I use a ClientInterceptor for that (the code also takes > care of basic > > auth, timeouts and ssh-without-hostname-verification). > > > > > ApacheHttpClient4Executor ex = new > > > ApacheHttpClient4Executor(getBasicAuthClient(LOGIN,PASS, > > "application/json", null, new > > > SingleClientConnManager(getSSHBypassScheme(443)),timeoutMs)); > > return > ProxyFactory.create(XYZ.class, "https://" + host + > > href, ex); > > > > > > public static DefaultHttpClient > getBasicAuthClient(final String > > login, final String pass, final String acceptType, > final String > > contentType, ClientConnectionManager ccm, int > timeoutMs) throws > > NoSuchAlgorithmException, KeyManagementException { > > DefaultHttpClient c2 > = new DefaultHttpClient(ccm); > > > c2.addRequestInterceptor(new HttpRequestInterceptor() { > > public > void process(HttpRequest arg0, HttpContext arg1) > > throws HttpException, IOException { > > > arg0.addHeader("Authorization", > > HTTPUtils.getBasicEncodedAuth(login, pass)); > > > arg0.addHeader("Accept", acceptType); > > > if (contentType != null) { > > > > arg0.addHeader("ContentType",contentType); > > > } > > } > > }); > > HttpParams httpParams > = c2.getParams(); > > > HttpConnectionParams.setConnectionTimeout(httpParams, > timeoutMs); > > > HttpConnectionParams.setSoTimeout(httpParams, timeoutMs); > > > HttpConnectionParams.setSoReuseaddr(httpParams, true); > > > > > c2.setParams(httpParams); > > return c2; > > } > > > > public static synchronized > SchemeRegistry getSSHBypassScheme(int > > port) throws KeyManagementException, > NoSuchAlgorithmException { > > if > (schemeRegistry==null) { > > > SSLSocketFactory sf = new SSLSocketFactory(getSSLContext(), > > SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER) { > > > public java.net.Socket connectSocket(java.net.Socket > > arg0, java.net.InetSocketAddress arg1, > java.net.InetSocketAddress arg2, > > HttpParams arg3) throws IOException > ,java.net.UnknownHostException > > ,org.apache.http.conn.ConnectTimeoutException { > > > int port = arg1.getPort(); > > > InetAddress addr = > cache.get(arg1.getAddress()); > > > arg1 = new > InetSocketAddress(addr,port); > > > return super.connectSocket(arg0, arg1, > arg2, arg3); > > > }; > > }; > > Scheme > httpsScheme = new Scheme("https", port, sf); > > > schemeRegistry = new SchemeRegistry(); > > > schemeRegistry.register(httpsScheme); > > } > > return > schemeRegistry; > > } > > > > > > > > 2013/1/7 Bill Burke <bbu...@redhat.com > <mailto:bbu...@redhat.com>> > > > > Why not just ditch using the > proxy? Or create a new different interface > > with the specs you want? > Overriding Exxecutor.exeucte() is a hack. > > > > On 1/7/2013 4:38 PM, kishore > panda wrote: > > > > > > Hello, > > > > > > Query: How to ensure server > sends JSON Media, when server is set > > with both Application_XML and > Application_JSON Media Types (Produces > > annotation). > > > > > > I am executing a RESTEasy > POC. > > > > > > I updated the server to accept > and respond with both XML and JSON > > Media type. > > > > > > > @POST > > > > @Path("/getData/") > > > > @Produces({MediaType.APPLICATION_XML, > > MediaType.APPLICATION_JSON}) > > > > @Consumes({MediaType.APPLICATION_XML, > > MediaType.APPLICATION_JSON}) > > > > public RestReqRes getData(Data request); > > > > > > In the client > code, I have done this: > > > > > > > this.clientService = > > > ProxyFactory.create(clientService.class, > baseURL, > > > > > getExecutor()); > > > > > > > > > and Override > execute() method in ApacheHttpClient4Executor. > > > > > > > request.accept(MediaType.APPLICATION_JSON); > > > > request.body("application/json", > request.getBody()); > > > > return super.execute(request); > > > > > > > > > When the client is used to > POST the Request, like > > > > clientService.getData(new Data()); > > > > > > I found the below > > > The accept header in the > Request is updated with "application/xml". > > > > > > This happens due to > > > > org.jboss.resteasy.client.core.marshallers.ClientMarshallerFactory.createMarshaller() > method, which calls org.jboss.resteasy.util.getConsumes() > method. > > > > > > The getConsumes() method > returns the consume.value()[0] media > > type which is > 'application/xml' in this case. > > > > > > > > > When > request.accept(MediaType.APPLICATION_JSON); is executed the > > accept header in the request is > updated with > > > 'application/xml, > application/json' > > > > > > Due to this the server always > responds with xml format. > > > > > > Is there anyway I can override > this so that the server responds > > JSON media as per the request. > > > > > > Thank you, > > > Malaya Kishore > > > > > > > > > > ------------------------------------------------------------------------------ > > > Master Visual Studio, > SharePoint, SQL, ASP.NET <http://ASP.NET>, > > C# 2012, HTML5, CSS, > > > MVC, Windows 8 Apps, > JavaScript and much more. Keep your skills > > current > > > with LearnDevNow - 3,200 > step-by-step video tutorials by Microsoft > > > MVPs and experts. SALE $99.99 > this month only -- learn more at: > > > http://p.sf.net/sfu/learnmore_122412 > > > > _______________________________________________ > > > Resteasy-users mailing list > > > Resteasy-users@lists.sourceforge.net > > <mailto:Resteasy-users@lists.sourceforge.net> > > > https://lists.sourceforge.net/lists/listinfo/resteasy-users > > > > > > > -- > > Bill Burke > > JBoss, a division of Red Hat > > http://bill.burkecentral.com > > > > > > ------------------------------------------------------------------------------ > > Master Visual Studio, > SharePoint, SQL, ASP.NET <http://ASP.NET>, C# > > 2012, HTML5, CSS, > > MVC, Windows 8 Apps, JavaScript > and much more. Keep your skills current > > with LearnDevNow - 3,200 > step-by-step video tutorials by Microsoft > > MVPs and experts. SALE $99.99 > this month only -- learn more at: > > http://p.sf.net/sfu/learnmore_122412 > > > _______________________________________________ > > Resteasy-users mailing list > > Resteasy-users@lists.sourceforge.net > > <mailto:Resteasy-users@lists.sourceforge.net> > > https://lists.sourceforge.net/lists/listinfo/resteasy-users > > > > > > > > > > > ------------------------------------------------------------------------------ > > Master SQL Server Development, Administration, T-SQL, > SSAS, SSIS, SSRS > > and more. Get SQL Server skills now (including 2012) > with LearnDevNow - > > 200+ hours of step-by-step video tutorials by Microsoft > MVPs and experts. > > SALE $99.99 this month only - learn more at: > > http://p.sf.net/sfu/learnmore_122512 > > > > > > > > _______________________________________________ > > Resteasy-users mailing list > > Resteasy-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/resteasy-users > > > > -- > Bill Burke > JBoss, a division of Red Hat > http://bill.burkecentral.com > > ------------------------------------------------------------------------------ > Master SQL Server Development, Administration, T-SQL, SSAS, > SSIS, SSRS > and more. Get SQL Server skills now (including 2012) with > LearnDevNow - > 200+ hours of step-by-step video tutorials by Microsoft MVPs > and experts. > SALE $99.99 this month only - learn more at: > http://p.sf.net/sfu/learnmore_122512 > _______________________________________________ > Resteasy-users mailing list > Resteasy-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/resteasy-users > ------------------------------------------------------------------------------ Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery and much more. Keep your Java skills current with LearnJavaNow - 200+ hours of step-by-step video tutorials by Java experts. SALE $49.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122612 _______________________________________________ Resteasy-users mailing list Resteasy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/resteasy-users