On Tue, May 5, 2009 at 2:42 AM, Simon Laws <[email protected]> wrote: > Hi Luciano > > In the JMS binding we do this sort of thing in the binding providers. > I.e it happens once when the runtime artifacts for the binding are > created and not each time a message is received. If you look in, for > example, the JMSBindingServiceBindingProvider constructor you'll see > some code like... > > > // create an interface contract that reflects both request and response > // wire formats > try { > interfaceContract = > (InterfaceContract)service.getInterfaceContract().clone(); > > > requestWireFormatProvider.configureWireFormatInterfaceContract(interfaceContract); > > responseWireFormatProvider.configureWireFormatInterfaceContract(interfaceContract); > } catch (CloneNotSupportedException ex){ > interfaceContract = service.getInterfaceContract(); > } > > The trick here is that firstly we delegate to the wire format provider > to determine how the interface contract should be configured. This is > because it's only the wire format that really knows.
Ok, I had the code in the wire format method that configures the interface contract, but I missed the part that the bindingServiceProvider had to explicitly call it. Much better now... Thank you. -- Luciano Resende Apache Tuscany, Apache PhotArk http://people.apache.org/~lresende http://lresende.blogspot.com/
