Hi Benson, Thank you for your reply. I have made some comments inline below:
> What exactly do you mean be 'binding'? In CXF, that means the mapping > of data type parameters to and from XML, as opposed to 'front end', > which deals with message structure. It's not obvious to me what you > are counting four of. Apologies for the ambiguity: I meant WSDL bindings which, if I understand correctly, express the serialization of messages for the wire. From what you say, this is the 'front end' in CXF's terminology? According to <http://cxf.apache.org/docs/wsdl-bindings.html>, CXF supports four such bindings / 'front ends': MTOM, Pure XML, SOAP 1.1 and SOAP 1.2. > Our usual advice to people who need to talk to 'some weird > nonconforming thing' is to use the provider interface, not a WSDL at > all. Just use CXF to push the XML in and out. Thanks, I'll look into this. > For a WSDL to be a viable approach, I think that the binding has to > have the character that it can be expressed in W3C XML Schema. If you > can't describe the parameters in XML Schema, i > you would need to deal in WSDL extensions. Indeed, perhaps this is the source of the original confusion: the contract in question is indeed using WSDL extensions—but it had not quite clicked. I will dig around on this subject. > Generally, though, the cost-benefit works like this: if you are > rigging up communications with a unique legacy service, building a > data binding or front-end would be an inefficient process. The value > of building one of these components is reusability; if you need to > talk to 27 different variations. Actually, it's more of an academic exercise to try and familiarise myself with some of the more obscure features of WSDL. A baptism by fire, if you will. > Finally, I'd note that a lot of messages on this list discuss ways to > tweak CXF so that the standard components can talk to nonstandard > endpoints. Fiddling with namespaces is by far the most frequent, but > many other things are possible. At the front-end level, you can grab > control of many decisions by writing a class and pushing it into a > property, for example. Sounds like I have a lot more reading to do over the weekend! Thank you again for all your help. -- Alexi