Bom dia pessoal, blz?
estou com alguns problema ao tentar invocar um método post de um serviço restful q implementei, na minha máquina local funciona perfeitamente, mas no servidor, aonde existe um proxy configurado, não roda!!! e acontece o seguinte erro
baseUri: http://servidor:8081/ProjetoRestTeste/services/rest/produto/
POST Response : 407
Location : null
22/10/2009 10:16:07 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
WARNING: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:529)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:510)
at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:203)
at org.apache.cxf.jaxrs.client.WebClient.post(WebClient.java:212)
at teste.restfull.web.controller.ProdutoController.addProdutoRestful(ProdutoController.java:69)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstValue.invoke(AstValue.java:152)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:99)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:771)
at javax.faces.component.UICommand.broadcast(UICommand.java:372)
at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at teste.restfull.web.filter.KeepSessionPerPage.doFilter(KeepSessionPerPage.java:72)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.HttpRetryException: cannot retry due to proxy authentication, in streaming mode
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1010)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2046)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2022)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1947)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 49 more
segue tb o trecho de código para a chamada ao serviço restful
public void addProdutoRestful(ActionEvent event) {
ProdutoRestful produtoRestful = new ProdutoRestful();
produtoRestful.setPartnumber("000000123456987");
produtoRestful.setDescricao("Produto Restful");
produtoRestful.setStatus(new Integer(0));
produtoRestful.setValidade(new Date());
produtoRestful.setAnalise("1");
produtoRestful.setPrazoGarantia(new Integer(10));
System.setProperty("http.proxyHost", "[nome do proxy]");
System.setProperty("http.proxyPort", "[porta do proxy]");
System.setProperty("http.nonProxyHosts", "[nome do host]");
System.setProperty("http.proxyUser", "[usuario]");
System.setProperty("http.proxyPassword", "[senha]");
String baseUri = HttpJSFUtil.getBaseUrl() + "/services/rest/produto/";
System.out.println("baseUri: " + baseUri);
WebClient webClient = WebClient.create(baseUri);
HTTPConduit conduit = (HTTPConduit)WebClient.getConfig(webClient).getConduit();
HTTPClientPolicy policy = conduit.getClient();
policy.setProxyServer("[nome do proxy]");
policy.setProxyServerPort([porta do proxy])
Response response = webClient.post(produtoRestful);
System.out.println("POST Response : " + response.getStatus());
System.out.println("Location : " + response.getMetadata().getFirst("Location"));
}
minha dúvida é se estou setando corretamente o proxy para a chamada ao método webClient.post.
alguem já passou por isso ou sabe algum link q possa me ajudar?
desde já agradeço a atenção e a ajuda!
Valeu!!!