[
https://issues.apache.org/activemq/browse/SM-690?page=comments#action_37118 ]
Fabrice Dewasmes commented on SM-690:
-------------------------------------
Agreed, the proxy config should be available maybe on the HttpConfiguration
and endpoints. If not provided on the endpoint, default on the http
configuration
one.
Please raise a JIRA and provide a patch :)
On 10/5/06, Fabrice Dewasmes <[EMAIL PROTECTED]> wrote:
>
> OK diving into the code I've found that the ProviderProcessor does this :
>
> if (uri.getScheme().equals("https")) {
> ProtocolSocketFactory sf = new CommonsHttpSSLSocketFactory(
> endpoint.getSsl(),
> endpoint.getKeystoreManager());
> Protocol protocol = new Protocol("https", sf, 443);
> HttpHost host = new HttpHost(uri.getHost(), uri.getPort(),
> protocol);
> this.host = new HostConfiguration();
> this.host.setHost(host);
> } else {
> this.host = new HostConfiguration();
> this.host.setHost(uri.getHost(), uri.getPort());
> }
>
> it clearly lacks the proxy configuration. I suggest to add the configuration
> element in the xbean configuration. I can provide a patch for this. But
> wouldn't it be more interesting to have such a setting more global ?
>
> Fabrice
> add ability to setup a proxy for provider endpoints
> ---------------------------------------------------
>
> Key: SM-690
> URL: https://issues.apache.org/activemq/browse/SM-690
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-http
> Affects Versions: 3.0
> Reporter: Fabrice Dewasmes
> Priority: Minor
> Fix For: 3.0
>
>
> Hi !
> I'm trying to proxy (in the servicemix sense) an external web service. This
> external web service is available under https. I've set the SSL parameters on
> the endpoint (see configuration below). However i'm behind non authenticated
> proxy. I've set the usual system properties :
> -Dhttps.proxyHost=myproxyHost.example.org
> -Dhttps.proxyPort=8082
> The endpoint is correctly started but I still get an UnknownHostException. It
> seems that system proxy parameters are not used. Have you got a solution ?
> here are some details :
> - environment : winXP
> - servicemix 3.0-incubating (downloaded yesterday afternoon !)
> - my endpoint configuration :
> <http:endpoint service="pe:PersonService" endpoint="myTarget"
> role="provider"
> locationURI="https://externalWebService.example.org/foo"
> wsdlResource="https://externalWebService.example.org/foo?WSDL"
> soap="true" soapVersion="1.1">
> <http:ssl>
> <http:sslParameters keyStore="file:///mykeystore.ks"
> keyStorePassword="password"
> trustStore="file:///mykeystore.ks"
> trustStorePassword="password" />
> </http:ssl>
> </http:endpoint>
> <http:endpoint service="pe:PersonServiceProxy" endpoint="proxy"
> role="consumer" locationURI="http://0.0.0.0:8192/person/"
> targetService="pe:PersonService" targetEndpoint="myTarget"
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" soap="true"
> soapVersion="1.1" />
> And here is the stack trace :
> 10:58:23,059 WARN [jetty] /person/
> java.lang.Exception: java.net.UnknownHostException:
> externalWebService.example.org
> at
> org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:202)
> at
> org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:443)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:615)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
> at org.mortbay.jetty.Server.handle(Server.java:265)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:333)
> at
> org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
> at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.net.UnknownHostException: externalWebService.example.org
> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
> at java.net.Socket.connect(Socket.java:507)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:546)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:390)
> at
> com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:121)
> at
> org.apache.servicemix.http.processors.CommonsHttpSSLSocketFactory.createSocket(CommonsHttpSSLSocketFactory.java:138)
> at
> org.apache.servicemix.http.processors.CommonsHttpSSLSocketFactory.createSocket(CommonsHttpSSLSocketFactory.java:147)
> at
> org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:706)
> at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1321)
> at
> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:386)
> at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
> at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
> at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
> at
> org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:153)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:410)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:43)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:169)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:177)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:227)
> at
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> Source)
> at java.lang.Thread.run(Thread.java:595)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira