thanks freeman for the response , 
I do understand by using cxf-camel , i can route the to different 
targetService. 

But my doubt is , based on wsdl & porttype operation is there a possibility
in cxf-bc xbean to give different targetService? 
Something like , matching service name in wsdl with cxf-bc service
attribute, is there any way to match portType operation in wsdl & cxf-bc to
match and pass the message to different targetService??

Thanks 
Brijesh N K  




Freeman Fang wrote:
> 
> brijesh wrote:
>> hello , 
>>
>> I need to know how to configure wsdl operations in cxf-bc xbean,
>>
>> the following is scenario 
>>
>> wsdl having portype as follows 
>>
>>            <wsdl:portType name="ContractPortType">
>>              <wsdl:operation name="createContract">
>>                      <wsdl:input message="eka:createContractRequest" />
>>                      <wsdl:output message="eka:createContractResponse" />
>>             
>>             <wsdl:fault name="fault"
>> message="eka:createContract_faultMsg1"></wsdl:fault>
>>         </wsdl:operation>
>>              <wsdl:operation name="modifyContract">
>>                      <wsdl:input 
>> message="eka:modifyContractRequest"></wsdl:input>
>>                      <wsdl:output 
>> message="eka:modifyContractResponse"></wsdl:output>
>>             
>>             <wsdl:fault name="fault"
>> message="eka:modifyContract_faultMsg1"></wsdl:fault>
>>         </wsdl:operation>
>>
>>     </wsdl:portType>
>>
>> the following service for the above port 
>>
>>             <wsdl:service name="ContractService">
>>           <wsdl:port binding="eka:ContractBinding"
>> name="ContractServicePort">
>>              <soap:address location="http://localhost:8092/ContractService"; 
>> />
>>              </wsdl:port>
>>      </wsdl:service>
>>
>> cxf-bc configureation as follows 
>>
>>
>>  <cxfbc:consumer wsdl="classpath:contract.wsdl"
>>      service="eka:ContractService"
>>      targetService="eka:contractBeanRouter"
>>      useJBIWrapper="false" 
>>      useSOAPEnvelope="false"
>>       />
>>
>> above xbean i can configure only one targetService, but service client
>> can
>> make call to createContract and modifyContract operations(see the above
>> wsdl
>> operations declaration in port type), both calls are going to same
>> targetService. 
>> wondering is there any way to configure multiple targetService based on
>> my
>> wsdl operation?? like createContract should have contractBeanRouter ,
>> modifyContract should have modifyContractBeanRouter  as targetService?. 
>>
>> i can't define one more cxfbc conf with same service with different
>> target
>> space, it gives error as duplicate endpoint defined 
>>   
> For your case, you want route to different target Service based on 
> different operation.
> You can archieve it by using servicemix-eip or servicemix-camel, 
> something like content based routing
> The flow looks like
> 
> external client ====> cxf bc consumer====> servicemix-eip or 
> servicemix-camel ====> your different target service based on different 
> operation.
> 
> Freeman
>> Any idea on this
>>
>> thanks 
>> Brijesh N K 
>>   
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/wsdl-PortType-and-Operations-in-cxf-bc-tp21513762p21515101.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to