EndpointFactory.java revision 325
0N/Apublic class EndpointFactory {
0N/A throw new IllegalArgumentException();
0N/A //TODO incase of Provider, provide a way to User for complete control of the message processing by giving
0N/A //Even in case of Provider, merge all features configured via WSDL/Policy or deployment configuration
0N/A if (processHandlerAnnotation) {
0N/A ServiceDefinitionImpl serviceDefiniton = (primaryDoc != null) ? new ServiceDefinitionImpl(docList, primaryDoc) : null;
0N/A return new WSEndpointImpl<T>(serviceName, portName, binding,container,seiModel,wsdlPort,implType, serviceDefiniton,terminal, isTransportSynchronous, policyMap);
0N/A private static List<SDDocumentImpl> findMetadataClosure(SDDocumentImpl primaryDoc, List<SDDocumentImpl> docList) {
0N/A return newMetadata;
0N/A private static <T> void processHandlerAnnotation(WSBinding binding, Class<T> implType, QName serviceName, QName portName) {
0N/A throw new IllegalArgumentException(clz +" has neither @WebService nor @WebServiceProvider annotation");
0N/A throw new IllegalArgumentException(clz +" has both @WebService and @WebServiceProvider annotations");
0N/A throw new IllegalArgumentException(clz +" doesn't implement Provider or AsyncProvider interface");
0N/A rap = new RuntimeModeler(implType,serviceName, binding.getBindingId(), binding.getFeatures().toArray());
0N/A rap = new RuntimeModeler(implType, serviceName, (WSDLPortImpl)wsdlPort, binding.getFeatures().toArray());
661N/A *Set the mtom enable setting from wsdl model (mtom policy assertion) on to @link WSBinding} if DD has
661N/A private static void applyEffectiveMtomSetting(WSDLBoundPortType wsdlBinding, WSBinding binding){
0N/A throw new ServerRtException("Deployment failed! Mtom policy assertion in WSDL is enabled whereas the deplyment descriptor setting wants to disable it!");
return serviceName;
return portName;
return wsdl;
private static SDDocumentImpl generateWSDL(WSBinding binding, AbstractSEIModelImpl seiModel, List<SDDocumentImpl> docs,
WSDLGenResolver wsdlResolver = new WSDLGenResolver(docs,seiModel.getServiceQName(),seiModel.getPortTypeName());
WSDLGenerator wsdlGen = new WSDLGenerator(seiModel, wsdlResolver, binding, container, implType, false,
private static void verifyPrimaryWSDL(@NotNull SDDocumentSource primaryWsdl, @NotNull QName serviceName) {
+" but not "+serviceName+". Maybe you forgot to specify a serviceName and/or targetNamespace in @WebService/@WebServiceProvider?");
boolean foundConcrete = false;
boolean foundAbstract = false;
if (foundConcrete) {
foundConcrete = true;
if (foundAbstract) {
foundAbstract = true;
return primaryDoc;
private static @NotNull WSDLPortImpl getWSDLPort(SDDocumentSource primaryWsdl, List<? extends SDDocumentSource> metadata,
throw new ServerRtException(ServerMessages.localizableRUNTIME_PARSER_WSDL_NOSERVICE_IN_WSDLMODEL(wsdlUrl));
throw new ServerRtException(ServerMessages.localizableRUNTIME_PARSER_WSDL_INCORRECTSERVICE(serviceName,wsdlUrl));
throw new ServerRtException(ServerMessages.localizableRUNTIME_PARSER_WSDL_INCORRECTSERVICEPORT(serviceName, portName, wsdlUrl));
return wsdlPort;
} catch (IOException e) {
} catch (XMLStreamException e) {
} catch (SAXException e) {
} catch (ServiceConfigurationError e) {
public Parser resolveEntity (String publicId, String systemId) throws IOException, XMLStreamException {
return null;