Through looking at BWS_2007 I've discovered that our contract matching tests are not correct. The code as it stands always returns true rather than matching operation types for remote interfaces. The TODO in the code says that this is because it's potentially hard to match the source and target types when the source and target contracts are described using different IDLs. The Assembly spec states that WSDL1.1 should be used as the IDL for matching remote interfaces of different IDLs.
I'm starting down the road of providing generated interfaces as required and I proposed the following approach. source target match action ===== ==== ========== interface.java interface.java match as interface.java interface.java interface.wsdl convert source to interface.wsdl and match interface.wsdl interface.java convert target to interface.wsdl and match interface.wsdl interface.wsdl match as interface.wsdl I have some code that works for matching endpoints and endpoint reference but I now realize that this isn't enough as matching is applied up and down the implementation hierarchy before endpoints and endpoint references are generated. So I'm looking at some surgery to make generated interfaces available within the service and reference model objects. If anyone has previously started down this route and has comments I'd be glad to hear them. Regards Simon -- Apache Tuscany committer: tuscany.apache.org Co-author of a book about Tuscany and SCA: tuscanyinaction.com
