public T getEndpointReference(Class clazz,
Element referenceParameters) {
EndpointReference jaxwsEPR = null;
String addressingNamespace = EndpointReferenceUtils.getAddressingNamespace(clazz);
if (soapMessageContext != null) {
QName service = (QName) soapMessageContext.get(MessageContext.WSDL_SERVICE);
QName endpoint = (QName) soapMessageContext.get(MessageContext.WSDL_PORT);
org.apache.axis2.addressing.EndpointReference axis2EPR =
EndpointReferenceUtils.createAxis2EndpointReference(null, service, endpoint, null, addressingNamespace);
try {
EndpointReferenceUtils.addReferenceParameters(axis2EPR, referenceParameters);
jaxwsEPR = EndpointReferenceUtils.convertFromAxis2(axis2EPR, addressingNamespace);
}
catch (Exception e) {
throw ExceptionFactory.makeWebServiceException(
Messages.getMessage("endpointRefConstructionFailure3", e.toString()));
}
}
else {
throw new IllegalStateException(
Messages.getMessage("webServiceContextErr1"));
}
return clazz.cast(jaxwsEPR);
}
|