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
