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

        

Reply via email to