public Object createService(ServiceRefType serviceRef,
GerServiceRefType gerServiceRef,
Module module,
ClassLoader cl,
Class serviceInterface,
QName serviceQName,
URI wsdlURI,
Class serviceReference,
Map<Class, PortComponentRefType> portComponentRefMap) throws DeploymentException {
EndpointInfoBuilder builder = new EndpointInfoBuilder(serviceInterface,
gerServiceRef, portComponentRefMap, module, cl,
wsdlURI, serviceQName);
builder.build();
wsdlURI = builder.getWsdlURI();
serviceQName = builder.getServiceQName();
Map< Object, EndpointInfo > seiInfoMap = builder.getEndpointInfo();
String handlerChainsXML = null;
try {
handlerChainsXML = getHandlerChainAsString(serviceRef.getHandlerChains());
} catch (IOException e) {
// this should not happen
LOG.warn("Failed to serialize handler chains", e);
}
String serviceReferenceName = (serviceReference == null) ? null : serviceReference.getName();
return new CXFServiceReference(serviceInterface.getName(), serviceReferenceName, wsdlURI,
serviceQName, module.getModuleName(), handlerChainsXML, seiInfoMap);
}
|