7 Replies Latest reply on Feb 6, 2013 4:21 AM by ffang

    Camel CXF Consumer endpoint for http

    jeevankumart

      Hi,

       

        I am trying to configure a camel cxf consumer endpoint. I just have http URL. But, when i install it in ESB-7.1, I am getting an exception like this:

      Caused by: java.lang.RuntimeException: Port 8194 is configured with wrong protocol "https" for "http://localhost:8194/ebond/Service/"
      

       

      The WSDL and Endpoint both are configured to use http URL. I am not sure why it is taking as https by default.

       

      My Endpoint Configuration looks like this:

           <cxf:cxfEndpoint id="serviceEndpoint"
                      address="http://localhost:8194/ebond/Service/"
                      wsdlURL="classpath:wsdl/Service.wsdl"
                      endpointName="ram:ServicePort"
                      serviceName="ram:Service"
                         xmlns:ram="http://namespace">
      
                <cxf:properties>
                     <entry key="dataFormat" value="MESSAGE"></entry>
                </cxf:properties>
                <cxf:outInterceptors>
                     <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"></bean>
                </cxf:outInterceptors>
                <cxf:inInterceptors>
                     <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>
                </cxf:inInterceptors>
           </cxf:cxfEndpoint>
      
           <camelContext id="test" xmlns="http://camel.apache.org/schema/spring">
             <route>
               <from uri="cxf:bean:serviceEndpoint"></from>
               <to uri="log:FromServiceEndpoint?level=INFO"></to>
               <to uri="nmr:ProcessMessage"></to>
             </route>
           </camelContext>
      
      

       

      Please advice,

       

      Thanks,

      Jeevan

        • 1. Re: Camel CXF Consumer endpoint for http
          ffang

          Hi,

           

          Most likely Service.wsdl you specified has a https address in it's serivce part.

           

          Freeman

          • 2. Re: Camel CXF Consumer endpoint for http
            jeevankumart

            Hi Freeman,

             

               Thanks for the reply. I have http URL in my wsdl file too.

             

                <wsdl:service name="Service">
                    <wsdl:port name="ServicePort" binding="tns:ServicePortBinding">
                        <soap:address location="http://localhost:8194/ebond/Service/"></soap:address>
                    </wsdl:port>
                </wsdl:service>
            

             

            I wonder where https comes from?

             

            Thanks,

            Jeevan

            • 3. Re: Camel CXF Consumer endpoint for http
              ffang

              Hi,

               

              Does your camel router has other cxf endpoint which configured as https?

               

              Freeman

              • 4. Re: Camel CXF Consumer endpoint for http
                jeevankumart

                Hi Freeman,

                 

                  No, I do not have any other cxf endpoints as https. Does CXF endpoint automatically takes as https?

                 

                 

                Thanks,

                Jeevan

                • 5. Re: Camel CXF Consumer endpoint for http
                  davsclaus

                  No its a bit weird. Can you post the full stacktrace of the error?

                  • 6. Re: Camel CXF Consumer endpoint for http
                    jeevankumart

                    Hi davsclaus ,

                     

                    Below is the full stack trace :

                     

                    org.apache.camel.RuntimeCamelException: java.lang.RuntimeException: Port 8194 is configured with wrong protocol "https" for "http://localhost:8194/IncidentService/"
                         at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1271)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:120)[149:org.apache.camel.camel-spring:2.10.0.fuse-71-047]
                         at org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:280)[149:org.apache.camel.camel-spring:2.10.0.fuse-71-047]
                         at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)[104:org.springframework.context:3.0.7.RELEASE]
                         at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)[104:org.springframework.context:3.0.7.RELEASE]
                         at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)[104:org.springframework.context:3.0.7.RELEASE]
                         at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)[114:org.springframework.osgi.core:1.2.1]
                         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)[114:org.springframework.osgi.core:1.2.1]
                         at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)[114:org.springframework.osgi.core:1.2.1]
                         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)[114:org.springframework.osgi.core:1.2.1]
                         at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)[113:org.springframework.osgi.extender:1.2.1]
                         at java.lang.Thread.run(Thread.java:619)[:1.6.0_18]
                    Caused by: java.lang.RuntimeException: Port 8194 is configured with wrong protocol "https" for "http://localhost:8194/IncidentService/"
                         at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.finalizeConfig(JettyHTTPDestination.java:155)[192:org.apache.cxf.cxf-rt-transports-http-jetty:2.6.0.fuse-71-047]
                         at org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:290)[178:org.apache.cxf.cxf-rt-transports-http:2.6.0.fuse-71-047]
                         at org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:135)[175:org.apache.cxf.cxf-rt-bindings-soap:2.6.0.fuse-71-047]
                         at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:93)[169:org.apache.cxf.cxf-api:2.6.0.fuse-71-047]
                         at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:72)[169:org.apache.cxf.cxf-api:2.6.0.fuse-71-047]
                         at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:160)[179:org.apache.cxf.cxf-rt-frontend-simple:2.6.0.fuse-71-047]
                         at org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:232)[211:org.apache.camel.camel-cxf:2.10.0.fuse-71-047]
                         at org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:202)[211:org.apache.camel.camel-cxf:2.10.0.fuse-71-047]
                         at org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:65)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.impl.DefaultRoute.onStartingServices(DefaultRoute.java:80)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.impl.RouteService.warmUp(RouteService.java:133)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:1992)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:1920)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1708)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1589)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1445)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:179)[149:org.apache.camel.camel-spring:2.10.0.fuse-71-047]
                         at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1413)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
                         at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:228)[149:org.apache.camel.camel-spring:2.10.0.fuse-71-047]
                         at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:118)[149:org.apache.camel.camel-spring:2.10.0.fuse-71-047]
                         ... 10 more
                    Caused by: java.lang.IllegalStateException: Port 8194 is configured with wrong protocol "https" for "http://localhost:8194/IncidentService/"
                         at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.retrieveEngine(JettyHTTPDestination.java:136)[192:org.apache.cxf.cxf-rt-transports-http-jetty:2.6.0.fuse-71-047]
                         at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.finalizeConfig(JettyHTTPDestination.java:153)[192:org.apache.cxf.cxf-rt-transports-http-jetty:2.6.0.fuse-71-047]
                    

                     

                    • 7. Re: Camel CXF Consumer endpoint for http
                      ffang

                      Hi,

                       

                      That's really weird.

                       

                      Could you please append a testcase which we can build and deploy to reproduce this problem?

                       

                      Thanks

                      Freeman