Raymond Feng wrote:
Hi,
There are a set of states associated with
CallableReference/ServiceReference such as the callbackID,
conversationID and callbackObject. We need to flow them in the Message
so that the target service can have the correct correlations. At this
moment, we have some of fields on the Message and I thought maybe it's
better to follow the CallableReference as a whole. Another reason is
that the RequestContext has a few methods to retrieve the
ServiceReference, CallbackReference and Callback object.
CallbackID seems to be set to CorrelationID, already another field of
the message.
Here are the only usages I can find for getCallableReference():
in Axis2BindingInvoker
fromEPR.addReferenceParameter(CALLBACK_ID_REFPARM_QN,
(String)msg.getCallableReference().getCallbackID());
in CallbackInterfaceInterceptor, doesn't look like a valid usage
and setCallableReference():
in JDKInvocationHandler
msg.setCallableReference(callableReference);
just after having done
msg.setCorrelationID(callbackID);
Are there any other valid usages? I'm probably missing something as I've
not been able to understand why callbacks start to fail when I remove
this and just flow the callbackID in the correlationID field... Could
somebody else give it a try as well?
I agree with your comments that it's not very nice to have
CallableReference directly on the Message as accessors. Moving
forward, we probably need to define headers for the Message interface
so that we can flow extra context data without poluting the Message
interface. There are already some use cases such as:
* Pass some information from one interceptor to another one, for
example, the DataBindingInterceptor can tell the PassByValueInvoker to
skip the copy.
* Carry binding-specific context in the Message, for example, SOAP
headers for binding.ws or JMS properties for binding.jms.
We'll probably need a "headers" property on the message, but I think
we'll have to be careful into a bag of things that are convenient to
pass around this way but not absolutely necessary.
Thanks,
Raymond
----- Original Message ----- From: "Jean-Sebastien Delfino"
<[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Monday, September 03, 2007 7:03 PM
Subject: What is Message.set/getCallableReference used for?
Could somebody help me understand what
Message.set/getCallableReference is used for?
If I comment it then some callback test cases start to fail, but I
don't really understand why we need to store a CallableReference in
the message, and its relationship with the from and to
EndpointReferences, which can already host callback endpoints.
Also CallableReference is specific to Java (if I understand correctly
it takes a Java business interface) so if it's really used and needed
I'm not sure about how it's used for callbacks typed by WSDL or other
interface definition languages.
Thanks
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]