See integration test SoaphttpToSoaphttpUsingJavaIntegrationTest.test_ok() in
the generator tests.
If a second http-connector is defined in the common-xml file this test will
fail with a classic error message:
"org.apache.cxf.interceptor.Fault: There are at least 2 connectors matching
protocol "http""
The problem is that I don't know how to specify a mule-connector for a standard
jax-ws call, it doesn't make sense...
Full error log:
2012-05-22 13:42:10,051 WARN org.apache.cxf.common.logging.LogUtils -
Interceptor for
{urn:org.soitoolkit.refapps.sd.sample.wsdl:v1}sampleService#{urn:org.soitoolkit.
refapps.sd.sample.wsdl:v1}sample has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: There are at least 2 connectors matching
protocol "http", so the connector to use must be specified on the endpoint
using the 'connector' property/attribute. Connectors in your configuration that
support "http" are: soitoolkit-http-connector, my-http-connector,
(java.lang.IllegalStateException)
at org.mule.module.cxf.transport.MuleUniversalConduit.prepare(MuleUniversalConduit.java:171)
at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:533)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
at $Proxy54.sample(Unknown Source)
at org.soitoolkit.tool.generator.requestresponsesamule330.soaphttptosoaphttpusingjava.SoaphttpToSoaphttpUsingJavaTestConsumer.callService(SoaphttpToSoaphttpUsingJavaTestConsumer.java:44)
at org.soitoolkit.tool.generator.requestresponsesamule330.soaphttptosoaphttpusingjava.SoaphttpToSoaphttpUsingJavaIntegrationTest.test_ok(SoaphttpToSoaphttpUsingJavaIntegrationTest.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:62)
Caused by: org.mule.transport.service.TransportFactoryException: There are at
least 2 connectors matching protocol "http", so the connector to use must be
specified on the endpoint using the 'connector' property/attribute. Connectors
in your configuration that support "http" are: soitoolkit-http-connector,
my-http-connector, (java.lang.IllegalStateException)
at org.mule.endpoint.AbstractEndpointBuilder.getConnector(AbstractEndpointBuilder.java:635)
at org.mule.endpoint.AbstractEndpointBuilder.getDefaultConnector(AbstractEndpointBuilder.java:452)
at org.mule.endpoint.AbstractEndpointBuilder.getConnector(AbstractEndpointBuilder.java:447)
at org.mule.endpoint.AbstractEndpointBuilder.doBuildOutboundEndpoint(AbstractEndpointBuilder.java:251)
at org.mule.endpoint.AbstractEndpointBuilder.buildOutboundEndpoint(AbstractEndpointBuilder.java:122)
at org.mule.endpoint.DefaultEndpointFactory.getOutboundEndpoint(DefaultEndpointFactory.java:89)
at org.mule.endpoint.DefaultEndpointFactory.getOutboundEndpoint(DefaultEndpointFactory.java:65)
at org.mule.module.cxf.transport.MuleUniversalConduit.getEndpoint(MuleUniversalConduit.java:211)
at org.mule.module.cxf.transport.MuleUniversalConduit.prepare(MuleUniversalConduit.java:166)
... 23 more
Caused by: java.lang.IllegalStateException: There are at least 2 connectors
matching protocol "http", so the connector to use must be specified on the
endpoint using the 'connector' property/attribute. Connectors in your
configuration that support "http" are: soitoolkit-http-connector,
my-http-connector,
at org.mule.transport.service.TransportFactory.getConnectorByProtocol(TransportFactory.java:179)
at org.mule.endpoint.AbstractEndpointBuilder.getConnector(AbstractEndpointBuilder.java:625)
... 31 more
Original issue reported on code.google.com by magnus.l...@gmail.com on 22 May 2012 at 11:47
Original issue reported on code.google.com by
magnus.l...@gmail.com
on 22 May 2012 at 11:47