INFO 2010-11-08 10:29:10,170 WrapperListener_start_runner org.mule.lifecycle.AbstractLifecycleManager: Starting model: _muleSystemModel
INFO 2010-11-08 10:29:10,170 WrapperListener_start_runner org.mule.lifecycle.AbstractLifecycleManager: Starting model: Services
INFO 2010-11-08 10:29:10,170 WrapperListener_start_runner org.mule.construct.FlowConstructLifecycleManager: Starting flow: kivwsService
INFO 2010-11-08 10:29:10,170 WrapperListener_start_runner org.mule.component.DefaultJavaComponent: Starting: org.mule.component.DefaultJavaComponent component for: SimpleFlowConstruct{kivwsService}
INFO 2010-11-08 10:29:10,186 WrapperListener_start_runner org.mule.transport.http.HttpsConnector: Registering listener: kivwsService on endpointUri:
https://localhost:443/services
org.mule.module.launcher.DeploymentStartException: kiv-ws
at org.mule.module.launcher.DefaultMuleApplication.start(DefaultMuleApplication.java:130)
at org.mule.module.launcher.ApplicationWrapper.start(ApplicationWrapper.java:123)
at org.mule.module.launcher.DefaultMuleDeployer.deploy(DefaultMuleDeployer.java:37)
at org.mule.module.launcher.DeploymentService.start(DeploymentService.java:108)
at org.mule.module.launcher.MuleContainer.start(MuleContainer.java:130)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mule.module.reboot.MuleContainerWrapper.start(MuleContainerWrapper.java:64)
at org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2788)
Caused by: org.mule.api.lifecycle.LifecycleException: Failed to start inbound endpoint "httpsEndpoint"
at org.mule.endpoint.DefaultInboundEndpoint.start(DefaultInboundEndpoint.java:104)
at org.mule.construct.AbstractFlowConstruct.startIfStartable(AbstractFlowConstruct.java:341)
at org.mule.construct.AbstractFlowConstruct.access$200(AbstractFlowConstruct.java:64)
at org.mule.construct.AbstractFlowConstruct$2.onTransition(AbstractFlowConstruct.java:137)
at org.mule.construct.AbstractFlowConstruct$2.onTransition(AbstractFlowConstruct.java:133)
at org.mule.lifecycle.AbstractLifecycleManager.invokePhase(AbstractLifecycleManager.java:138)
at org.mule.construct.FlowConstructLifecycleManager.fireStartPhase(FlowConstructLifecycleManager.java:85)
at org.mule.construct.AbstractFlowConstruct.start(AbstractFlowConstruct.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mule.lifecycle.phases.DefaultLifecyclePhase.applyLifecycle(DefaultLifecyclePhase.java:225)
at org.mule.lifecycle.RegistryLifecycleManager$RegistryLifecycleCallback.onTransition(RegistryLifecycleManager.java:260)
at org.mule.lifecycle.RegistryLifecycleManager.invokePhase(RegistryLifecycleManager.java:139)
at org.mule.lifecycle.RegistryLifecycleManager.fireLifecycle(RegistryLifecycleManager.java:110)
at org.mule.registry.AbstractRegistry.fireLifecycle(AbstractRegistry.java:143)
at org.mule.registry.AbstractRegistryBroker.fireLifecycle(AbstractRegistryBroker.java:59)
at org.mule.registry.MuleRegistryHelper.fireLifecycle(MuleRegistryHelper.java:118)
at org.mule.lifecycle.MuleContextLifecycleManager$MuleContextLifecycleCallback.onTransition(MuleContextLifecycleManager.java:94)
at org.mule.lifecycle.MuleContextLifecycleManager$MuleContextLifecycleCallback.onTransition(MuleContextLifecycleManager.java:90)
at org.mule.lifecycle.MuleContextLifecycleManager.invokePhase(MuleContextLifecycleManager.java:72)
at org.mule.lifecycle.MuleContextLifecycleManager.fireLifecycle(MuleContextLifecycleManager.java:64)
at org.mule.DefaultMuleContext.start(DefaultMuleContext.java:204)
at org.mule.module.launcher.DefaultMuleApplication.start(DefaultMuleApplication.java:122)
... 10 more
Caused by: org.mule.transport.service.TransportServiceException: Failed to create "Message Receiver" with "https"
at org.mule.transport.service.DefaultTransportServiceDescriptor.createMessageReceiver(DefaultTransportServiceDescriptor.java:251)
at org.mule.transport.service.DefaultTransportServiceDescriptor.createMessageReceiver(DefaultTransportServiceDescriptor.java:197)
at org.mule.transport.AbstractConnector.createReceiver(AbstractConnector.java:2309)
at org.mule.transport.AbstractConnector.registerListener(AbstractConnector.java:1277)
at org.mule.transport.http.HttpConnector.registerListener(HttpConnector.java:211)
at org.mule.endpoint.DefaultInboundEndpoint.start(DefaultInboundEndpoint.java:100)
... 34 more
Caused by: java.lang.NoSuchMethodException: could not find constructor on class: class org.mule.transport.http.HttpsMessageReceiver, with matching arg params: org.mule.transport.http.HttpsConnector, org.mule.construct.SimpleFlowConstruct, org.mule.endpoint.DefaultInboundEndpoint,
at org.mule.util.ClassUtils.instanciateClass(ClassUtils.java:390)
at org.mule.util.ClassUtils.instanciateClass(ClassUtils.java:429)
at org.mule.transport.service.DefaultTransportServiceDescriptor.createMessageReceiver(DefaultTransportServiceDescriptor.java:246)
... 39 more
INFO 2010-11-08 10:29:10,233 WrapperListener_start_runner org.mule.module.launcher.DeploymentService: Application directory check interval: 5000
After some digging I found out that it has nothing to do with CXF at all, it's a common problem using https in a flow.
A workaround for those who have the same problem is to use "old style" services, like:
A global endpoint:
<endpoint name="test" address="https://localhost:443/services"
exchange-pattern="request-response" >
<spring-security:http-security-filter realm="mule-realm" />
<cxf:simple-service serviceClass="com.mycompany.Test" >
<cxf:inInterceptors>
<spring:bean class="com.mycompany.MyInterceptor" />
</cxf:inInterceptors>
</cxf:simple-service>
</endpoint>
and a service:
<service name="testService">
<inbound>
<inbound-endpoint ref="test"/>
</inbound>
<component>
<singleton-object class="com.mycompany.Test"/>
</component>
</service>
It would be nice to be able to use https in a flow though...
/Tomas Blohm