Hi,

If I understand correctly, you just want to use one cxf bc provider endpoint to talk to two external service(those two external service actually use same wsdl but use different locationURI).

If so, you can use dynamic http locationURI with cxf bc provider.
Before you send NormalizedMessage to cxf bc provider, do something like
NormalizedMessage nm = ..
nm.setProperty(JbiConstants.HTTP_DESTINATION_URI, "what_ever_locationURI_you_need"),

and the cxf bc provider will send the request to the correct external service accordingly.

Or if you want to use two cxf bc provider, you can add locationURI attribute for each, it will override the one from your provider.wsdl, so your provider.wsdl needn't two different service/port which is only used for different soap:address (samething as the locationURI)

Freeman
On 2010-1-7, at 下午2:06, LeeCK wrote:


Hi,

Can I use custom names for services and ports in servicemix-cxf-bc provider? I.e, does the services and ports names defined in the provider wsdl have to
match what's in the endpoint wsdl?

The reason I need to do this is because I need to use the same provider to
talk to two instances of the same endpoint (different url). I am using
ServiceMix 3.3.1

Please help. Thanks

Provider wsdl:
   <wsdl:service name="Service1">
       <wsdl:port name="Service1Port" binding="ns:ServiceBinding">
<soap12:address location="http://localhost:8080/ TheService"/>
       </wsdl:port>
   </wsdl:service>
   <wsdl:service name="Service2">
       <wsdl:port name="Service2Port" binding="ns:ServiceBinding">
<soap12:address location="http://localhost:9090/ TheService"/>
       </wsdl:port>
   </wsdl:service>

Provider xbean:
        <cxfbc:provider wsdl="classpath:provider.wsdl"
                         service="endpoint:Service1"
                         endpoint="Service1Port"/>
        <cxfbc:provider wsdl="classpath:provider.wsdl"
                         service="endpoint:Service2"
                         endpoint="Service2Port"/>

Actually endpoint wsdl:
   <wsdl:service name="TheService">
       <wsdl:port name="TheServicePort" binding="ns:ServiceBinding">
           <soap12:address location="http://...../TheService"/>
       </wsdl:port>
   </wsdl:service>
--
View this message in context: 
http://old.nabble.com/Custom-service-and-port-names-for-provider-tp27055495p27055495.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.



--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to