Hi,
The exception here
Caused by: java.net.MalformedURLException: no protocol: /MessageExchange
means the ServletTransport not get used and so the adress start from "/
MessageExchange" couldn't be recognized. You DO need use
CxfManagedServlet instead.
Could you use webconsole to install smx-cxf component and your SA
directly instead of use lightweight component as the lightweight
components are deprecated.
Freeman
On 2010-3-23, at 上午4:30, gingming wrote:
Hi,
Sorry for the lack of details. Here's the portion from my web.xml
(which
worked for cxf-bc 2009.01), I've also tried the CxfManagedServlet
without
any luck:
<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</
servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
Here's my Spring configuration, by the way, I'm running using
lightweight
mode for ServiceMix:
<sm:activationSpec componentName="CxfListener">
<sm:component>
<cxfbc:component>
<cxfbc:endpoints>
<!-- TODO: Add schemaValidationEnabled="true" when 2009.02 is
released
-->
<cxfbc:consumer
service="hms:MessageExchangeWSService"
endpoint="MessageExchangeWSPort"
targetService="hms:MessageExchangeWSService"
targetInterface="hms:MessageExchangeWS"
locationURI="/MessageExchange"
wsdl="classpath:/net/hlink/esb/components/msgEx/v1_2/
messageExchange.wsdl">
</cxfbc:consumer>
</cxfbc:endpoints>
</cxfbc:component>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="MessageExchangeServices"
destinationService="hlk:loggingComponent">
<sm:component>
<cxfse:component>
<cxfse:endpoints>
<cxfse:endpoint useJBIWrapper="true"
useSOAPEnvelope="false">
<cxfse:pojo>
<bean
class
="net.hlink.esb.components.msgEx.v1_2.server.MessageExchangeWSImpl"
parent="baseComponentBean">
<property
name="applicationName" ref="applicationName"/>
<property
name="applicationVersion" ref="applicationVersion"/>
<property name="sourceName"
value="MessageExchange"/>
</bean>
</cxfse:pojo>
</cxfse:endpoint>
</cxfse:endpoints>
</cxfse:component>
</sm:component>
</sm:activationSpec>
I tried to remove "locationURI" or put a full URL in, but it
complaint about
addess being used. Somehow the Jetty engine is trying to start up.
Here's the lib in the classpath that I think should be related:
all the cxf-<related>-2.2.6.jar
jetty-6.1.22.jar
jetty-sslengine-6.1.22.jar
jetty-util-6.1.22.jar
servicemix-audit-3.3.1.jar
servicemix-common-2010.01-SNAPSHOT.jar
servicemix-components-3.3.1.jar
servicemix-core-3.3.1.jar
servicemix-cxf-bc-2010.01-SNAPSHOT.jar
servicemix-cxf-se-2010.01-SNAPSHOT.jar
servicemix-eip-2009.01.jar
servicemix-shared-2010.01-SNAPSHOT.jar
servicemix-soap-2010.01-SNAPSHOT.jar
servicemix-soap2-2010.01-SNAPSHOT.jar
servicemix-utils-1.2.0.jar
spring 2.5.6
Thanks for your help.
Regards,
Ging Ming Chan
Freeman Fang wrote:
Hi,
Can't tell so much from what you provided?
Could you please append more details? e.g. how to use the servlet
transport, how you configure it? More detail more helpful.
Freeman
--
View this message in context:
http://old.nabble.com/Servlet-Transport-with-cxf-bc-2010.01-tp27982415p27992222.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com