Hi,

My comment inline.
On 2011-8-1, at 下午9:11, Marcin Cylke wrote:

Hi

I'm trying to expose cxf service bean via cxf-camel transport. Basically I want my bean to be accessible via JBI in Servicemix 4 - some other services refer this service by jbi endpoints. Theses services are also camel routers.

Unfortunatelly the whole setup fails, the cxf bean never receives the request.

I'm using Camel 2.6 with servicemix 4.3 Fuse.

I have the following config:

#v+
<beans xmlns="http://www.springframework.org/schema/beans";
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
      xmlns:pc="http://some.endpoint.com";
      xmlns:cxf="http://camel.apache.org/schema/cxf";
      xmlns:camel="http://camel.apache.org/schema/spring";
      xmlns:jaxws="http://cxf.apache.org/jaxws";
      xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0";
xsi:schemaLocation="http://www.springframework.org/schema/ beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                          http://camel.apache.org/schema/cxf 
http://camel.apache.org/schema/cxf/camel-cxf.xsd
                          http://cxf.apache.org/jaxws 
http://cxf.apache.org/schemas/jaxws.xsd
                          http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd
http://servicemix.apache.org/cxfse/1.0 http://servicemix.apache.org/schema/servicemix-cxf-se-2009.01.xsd ">


 <import resource="classpath:META-INF/cxf/cxf.xml" />
 <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />

 <import resource="dao-context.xml"/>

   <bean class="org.apache.servicemix.common.osgi.EndpointExporter" />


<bean class ="org.apache.camel.component.cxf.transport.CamelTransportFactory">
     <property name="bus" ref="cxf" />
     <property name="camelContext" ref="camelContext" />
     <property name="checkException" value="true" />
     <property name="transportIds">
       <list>
         <value>http://cxf.apache.org/transports/camel</value>
       </list>
     </property>
   </bean>

   <jaxws:endpoint
       id="PCService"
       address="camel://direct:PCService"
       endpointName="default" serviceName="pc:PCService-1"
       implementor="pl.service.PCServiceImpl">
       <jaxws:features>
           <logging xmlns="http://cxf.apache.org/core"; />
       </jaxws:features>
   </jaxws:endpoint>

<camel:camelContext id="camelContext" trace="true" xmlns="http://camel.apache.org/schema/spring ">
           <route>
<from uri="jbi:service:http://some.endpoint.com/Endpoint-1/default " />
This <from uri="jbi:service:http://some.endpoint.com/Endpoint-1/ default" /> means expose a jbi endpoint on JBI bus, this endpoint is a JBI provider endpoint, it should be the target of some JBI consumer endpoint, from your configuration I can't see any JBI consumer endpoint, you're missing some JBI consumer endpoint such as cxf bc consumer which can handle external soap request and pass it to
<from uri="jbi:service:http://some.endpoint.com/Endpoint-1/default"; />

Freeman
               <to uri="direct:PCService" />
           </route>
   </camel:camelContext>


</beans>
#v-

Thanks in advance for any assistance.

Marcin

---------------------------------------------
Freeman Fang

FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com









Reply via email to