// Retrieve other callback-related headers
handleMessageIDHeader( header, requestMsg );
} // end if
// Create a from EPR to hold the details of the callback endpoint
EndpointReference from = null;
if (callbackAddress != null ) {
// Check for special (& not allowed!) WS_Addressing values
checkCallbackAddress( callbackAddress, request );
//
from = assemblyFactory.createEndpointReference();
Endpoint fromEndpoint = assemblyFactory.createEndpoint();
from.setTargetEndpoint(fromEndpoint);
from.setStatus(EndpointReference.Status.WIRED_TARGET_FOUND_AND_MATCHED);
requestMsg.setFrom(from);
Endpoint callbackEndpoint = assemblyFactory.createEndpoint();
//
WebServiceBinding cbBinding = webServiceBindingFactory.createWebServiceBinding();
cbBinding.setURI(callbackAddress);
callbackEndpoint.setBinding(cbBinding);
//
callbackEndpoint.setURI(callbackAddress);
callbackEndpoint.setUnresolved(true);
from.setCallbackEndpoint(callbackEndpoint);
}
Message responseMsg = endpoint.invoke(operation, requestMsg);
SOAPMessage response = soapMessageFactory.createMessage();