As a first step to implementing this, I'm implementing a proxy (client --> consumer --> producer --> service). Later, I'll add the camel routing.
When I call my cxf consumer (http://localhost:8000/Calculate), I get a connection refused error.
My xbean.xml is as follows:
<cxfbc:consumer wsdl="classpath:Calculate.wsdl"
service="calculate:ConsumerCalculateService"
endpoint="ConsumerCalculateEndpoint"
targetService="calculate:ProducerCalculateService"/>
<cxfbc:producer wsdl="classpath:Calculate.wsdl"
service="calculate:ProducerCalculateService"
endpoint="ProducerCalculateEndpoint"/>
My WSDL (for the service section) is as follows:
<!-- real service -->
<wsdl:service name="CalculateService">
<wsdl:port binding="impl:CalculateSoapBinding" name="Calculate">
<wsdl:address location="http://localhost:8080/Calculator/services/Calculate"/>
</wsdl:port>
</wsdl:service>
<!-- cxf consumer -->
<wsdl:service name="ConsumerCalculateService">
<wsdl:port binding="impl:CalculateSoapBinding" name="ConsumerCalculateEndpoint">
<wsdl:address location="http://localhost:8000/Calculate"/>
</wsdl:port>
</wsdl:service>
<!-- cxf producer -->
<wsdl:service name="ProducerCalculateService">
<wsdl:port binding="impl:CalculateSoapBinding" name="ProducerCalculateEndpoint">
<wsdl:address location="http://localhost:8090/Calculate"/>
</wsdl:port>
</wsdl:service>
For my WSDL, I took the actual service's WSDL and added a service entry for the cxf consumer and producer.
Also, when I replaced the address for the producer with the actual service's address, I then get a not found error.
FYI: some additional info when doing some testing from a browser
When I try to access http://localhost:8000/Calculate from browser, I get a no such operation error. However, I can access the WSDL via http://localhost:8000/Calculate?wsdl
Edited by: lyfe on Nov 17, 2009 5:43 PM (added info from browser testing)