I am attempting to implement something similar to the loan broker example. The benefit that I have is that all the bank services have the same WSDL service contract. I have attempted to define 1 bank cxf bc with the bank WSDL so that I can proxy the bank service to the loan broker service[1]. However, how can I set the endpoint URL of an instance of one of the bank services at runtime for a particular request? Servicemix CXF binding components assume the endpoint URLs are known in advance (configured in the xbean.xml). This seems to prevent dynamic discovery & binding of services. The bank services I interface with will be discovered via a UDDI registry so I won't the endpoint URLs won't be known until runtime.
I also attempted to connect directly to the external service, bypassing any binding compoments using JAX-WS 2.1.x generated client stubs. However, attempting to invoke the external service results in NoSuchMethodError: javax.xml.soap.SOAPFactory.createFault(). Search results[2] indicate a SAAJ version conflict. It appears CXF depends on SAAJ 1.3, but the talend's libraries on the JVM system classpath include SAAJ 1.2. I replaced talend's saaj 1.2 with v1.3 and when invoking the bank service client stubs, I now get this error: javax.xml.ws.soap.SOAPFaultException: No conduit initiator was found for the namespace http://schemas.xmlsoap.org/soap/http. [1]http://servicemix.apache.org/servicemix-cxf-se.html [2]http://mail-archives.apache.org/mod_mbox/incubator-cxf-user/200709.mbox/[EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/dynamic-loan-broker-tp18930319p18930319.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
