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/

Reply via email to