Hello,

I have a few questions regarding the use of EndpointReferenceTypes when
handling callback objects
in a CXF client/server.  Is it possible to use the address information
provided by an
EndpointReferenceType to specify the remote location of the callback object
I want to invoke on?

I had a look at the callback demo provided in the CXF distribution and as I
understand it, the
address used for the callback object created comes from the WSDL file
provided by the WSDL URL in
the EndpointReferenceType.  Is this correct?

The reason I ask is for the Yoko project, the CORBA binding runtime converts
any CORBA object
references it receives into an appropriate EndpointReferenceType, and sets
the address value of the
EndpointReferenceType to be the object reference of the CORBA object.  I
would like, on the CXF side
of things, to use the address that is set for this EndpointReferenceType as
the remote address for the
callback object I want to create.  This would cover the case where I get a
CORBA object reference
with an address which is not listed in the WSDL file for the CXF side of the
application.  The
binding would then be able to use this address information to locate the
correct CORBA object.

I initially tried to use the approach used by the callback demo to create
the callback object, then
obtained the request context and set the ENDPOINT_ADDRESS_PROPERTY to the
address from my
EndpointReferenceType.  This seemed to get propagated to the CORBA binding
through the
Message.ENDPOINT_ADDRESS property and worked fine for the first invocation
on the callback object.
However, on any subsequent invocations, it appears that the
Message.ENDPOINT_ADDRESS property
which the binding used in the first invocation no longer contains the
address I was using for the callback
object.

Is this the correct way to handle these callbacks or should I be using
another mechanism for
handling addresses from EndpointReferenceTypes?

Thanks,
Darren

Reply via email to