If you can use Wireshark or similar to capture the raw packets for both the
CXF case and the non-CXF case to compare the raw headers, that would be
useful. Would like to make sure the correct auth headers are there.
Dan
On Saturday, July 07, 2012 04:13:48 PM Michael Clark wrote:
> Hi,
>
> I am using simple stand alone Java application to test the external
> webservice thru proxy and getting the error
> "Caused by: javax.xml.stream.XMLStreamException: java.io.IOException:
> Unable to tunnel through proxy. Proxy returns "HTTP/1.1 500 Internal
> Server Error"
>
> And this is failing when i use https url. (for http url it is not even
> validating the proxy credentials).
>
> NEXTGENLiteSoap client;
> try {
> JaxWsProxyFactoryBean proxyFactory = new
JaxWsProxyFactoryBean();
> proxyFactory.setServiceClass(NEXTGENLiteSoap.class);
> proxyFactory
>
.setAddress("https://www.nextgen.com/soap/v1.0/service.asmx?WSDL");
>
> client = (NEXTGENLiteSoap) proxyFactory.create();
>
> Client endpointClient = ClientProxy.getClient(client);
> HTTPConduit http = (HTTPConduit)
> endpointClient.getConduit();
> HTTPClientPolicy httpClientPolicy = http.getClient();
> httpClientPolicy.setConnectionTimeout(36000);
> httpClientPolicy.setAllowChunking(false);
> httpClientPolicy.setProxyServer("101.213.190.104");
> httpClientPolicy.setProxyServerPort(8080);
>
> httpClientPolicy.setProxyServerType(ProxyServerType.HTTP);
> httpClientPolicy.setAutoRedirect(false);
>
> httpClientPolicy.setConnection(ConnectionType.KEEP_ALIVE);
>
> ProxyAuthorizationPolicy proxyAuthPolicy = new
> ProxyAuthorizationPolicy();
> proxyAuthPolicy.setUserName("testUser");
> proxyAuthPolicy.setPassword("testPass");
> proxyAuthPolicy.setAuthorizationType("Basic");
>
> http.setProxyAuthorization(proxyAuthPolicy);
> http.setClient(httpClientPolicy);
>
> DataInput input = new DataInput();
> input.setUsername("NEXTGEN0941");
> input.setPassword("M0XLY7VH");
> input.setVRM("12345678");
> Object a = client.getNextGenData(input);
> } catch (Exception e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
>
> From Eclipse it is running fine.. even with incorrect credentials. But
> from Linux it is throwing 500 error.
>
> Java Version : JDK 1.6_24
> CXF Version 2.6.0
>
> Any help on this is highly appreciated.
>
>
> To validate the Proxy credentials, I have used simple http client (v 4.03)
> and i am able to pass thru https url. Find below working client program.
>
>
> HttpHost proxy = new HttpHost("101.213.190.104", 8080, "http");
>
> // general setup
> SchemeRegistry supportedSchemes = new SchemeRegistry();
>
> // Register the "http" and "https" protocol schemes, they are
> // required by the default operator to look up socket factories.
> supportedSchemes.register(new Scheme("http",
> PlainSocketFactory.getSocketFactory(), 80));
> supportedSchemes.register(new Scheme("https",
> SSLSocketFactory.getSocketFactory(), 443));
>
> // prepare parameters
> HttpParams params = new BasicHttpParams();
> HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
> HttpProtocolParams.setContentCharset(params, "UTF-8");
> HttpProtocolParams.setUseExpectContinue(params, true);
>
> ClientConnectionManager ccm = new
> ThreadSafeClientConnManager(params,
> supportedSchemes);
>
> DefaultHttpClient httpclient = new DefaultHttpClient(ccm, params);
>
> httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,
> proxy);
> httpclient.getCredentialsProvider().setCredentials(
> new AuthScope("101.213.190.104", 8080),
> new UsernamePasswordCredentials("testUser",
> "testPass"));
>
> HttpGet req = new
> HttpGet("https://www.nextgen.com/soap/v1.0/service.asmx?WSDL");
>
> //System.out.println("executing request to " + target + " via " +
> proxy);
> HttpResponse rsp = httpclient.execute(req);
> HttpEntity entity = rsp.getEntity();
>
> System.out.println("----------------------------------------");
> System.out.println(rsp.getStatusLine());
> Header[] headers = rsp.getAllHeaders();
> for (int i = 0; i<headers.length; i++) {
> System.out.println(headers[i]);
> }
> </nabble_embed>
>
>
>
> Thanks,
> Michael.
>
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/Unable-to-tunnel-through-proxy-Proxy-retu
> rns-HTTP-1-1-500-Error-tp5710702.html Sent from the cxf-user mailing list
> archive at Nabble.com.
--
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com