Package org.apache.servicemix.common.tools.wsdl

Examples of org.apache.servicemix.common.tools.wsdl.WSDLFlattener


                if (flattener == null) {
                    URL resource = getClass().getClassLoader().getResource("org/apache/servicemix/wsn/wsn.wsdl");
                    WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
                    reader.setFeature(Constants.FEATURE_VERBOSE, false);
                    Definition definition = reader.readWSDL(null, resource.toString());
                    flattener = new WSDLFlattener(definition);
                }
                Definition flatDef = flattener.getDefinition(interfaceName);
                doc = WSDLFactory.newInstance().newWSDLWriter().getDocument(flatDef);
                descriptions.put(interfaceName, doc);
            }
View Full Code Here


        if (endpoint == null) {
            throw new IllegalArgumentException("endpoint name should be provided");
        }

        // Flatten it
        definition = new WSDLFlattener(definition).getDefinition(interfaceName);
        description = WSDLFactory.newInstance().newWSDLWriter().getDocument(definition);

        // Write WSDL
        if (logger.isDebugEnabled()) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
View Full Code Here

        } else if (!interfaceName.equals(wsdlPortType.getQName())) {
            throw new IllegalArgumentException("The name of the PortType defined by the deployed"
                    + " wsdl does not match the interface name of the jbi endpoint");
        }
        // Create the DOM document
        definition = new WSDLFlattener(definition).getDefinition(interfaceName);
        description = WSDLFactory.newInstance().newWSDLWriter().getDocument(definition);
    }
View Full Code Here

            su.setDefinitionKeys(defKeys);
            Definition rootDef = loadMainWsdl(serviceUnitRootPath);
            checkDefinition(rootDef, true);
            su.setDefinition(rootDef);
            WSDLWriter writer = WSDLFactory.newInstance().newWSDLWriter();
            WSDLFlattener flattener = new WSDLFlattener(rootDef);
            for (Iterator it = rootDef.getServices().values().iterator(); it.hasNext();) {
                Service svc = (Service) it.next();
                for (Iterator it2 = svc.getPorts().values().iterator(); it2.hasNext();) {
                    Port pt = (Port) it2.next();
                    BPEEndpoint ep = new BPEEndpoint();
                    ep.setServiceUnit(su);
                    ep.setInterfaceName(pt.getBinding().getPortType().getQName());
                    ep.setService(svc.getQName());
                    ep.setEndpoint(pt.getName());
                    Definition def = flattener.getDefinition(ep.getInterfaceName());
                    Document desc = writer.getDocument(def);
                    ep.setDefinition(def);
                    ep.setDescription(desc);
                    // Retrieve wsdl
                    validate(ep);
View Full Code Here

            su.setDefinitionKeys(defKeys);
            Definition rootDef = loadMainWsdl(serviceUnitRootPath);
            checkDefinition(rootDef, true);
            su.setDefinition(rootDef);
            WSDLWriter writer = WSDLFactory.newInstance().newWSDLWriter();
            WSDLFlattener flattener = new WSDLFlattener(rootDef);
            for (Iterator it = rootDef.getServices().values().iterator(); it.hasNext();) {
        Service svc = (Service) it.next();
        for (Iterator it2 = svc.getPorts().values().iterator(); it2.hasNext();) {
          Port pt = (Port) it2.next();
          BPEEndpoint ep = new BPEEndpoint();
          ep.setServiceUnit(su);
          ep.setInterfaceName(pt.getBinding().getPortType().getQName());
          ep.setService(svc.getQName());
          ep.setEndpoint(pt.getName());
                    Definition def = flattener.getDefinition(ep.getInterfaceName());
                    Document desc = writer.getDocument(def);
                    ep.setDefinition(def);
                    ep.setDescription(desc);
                    // Retrieve wsdl
          su.addEndpoint(ep);
View Full Code Here

                if (flattener == null) {
                    URL resource = getClass().getClassLoader().getResource("org/apache/servicemix/wsn/wsn.wsdl");
                    WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
                    reader.setFeature(Constants.FEATURE_VERBOSE, false);
                    Definition definition = reader.readWSDL(null, resource.toString());
                    flattener = new WSDLFlattener(definition);
                }
                Definition flatDef = flattener.getDefinition(interfaceName);
                doc = WSDLFactory.newInstance().newWSDLWriter().getDocument(flatDef);
                descriptions.put(interfaceName, doc);
            }
View Full Code Here

                interfaceName = wsdlPortType.getQName();
            } else if (!interfaceName.equals(wsdlPortType.getQName())) {
                throw new IllegalArgumentException("The name of the PortType defined by the deployed wsdl does not match the interface name of the jbi endpoint");
            }
            // Create the DOM document
            definition = new WSDLFlattener(definition).getDefinition(interfaceName);
            description = WSDLFactory.newInstance().newWSDLWriter().getDocument(definition);
        }
       
        String svcLocalName = (service != null) ? service.getLocalPart() : null;
        String svcNamespace;
        if (interfaceName != null) {
            svcNamespace = interfaceName.getNamespaceURI();
        } else if (service != null) {
            svcNamespace = service.getNamespaceURI();
        } else {
            svcNamespace = null;
        }
        Map props = new HashMap();
        props.put(ObjectServiceFactory.PORT_TYPE, interfaceName);
        if (style != null) {
            props.put(ObjectServiceFactory.STYLE, style);
        }
        props.put(ObjectServiceFactory.USE, SoapConstants.USE_LITERAL);
        if (serviceInterface != null) {
            props.put(AnnotationServiceFactory.ALLOW_INTERFACE, Boolean.TRUE);
        }
        if (properties != null) {
            props.putAll(properties);
        }
        xfireService = factory.create(serviceClass, svcLocalName, svcNamespace, props);
        xfireService.setInvoker(new BeanInvoker(getPojo()));
        xfireService.setFaultSerializer(new JbiFaultSerializer());
        xfireService.setProperty(SoapConstants.MTOM_ENABLED, Boolean.toString(mtomEnabled));
        xfire.getServiceRegistry().register(xfireService);
       
        // If the wsdl has not been provided,
        // generate one
        if (this.description == null) {
            this.description = generateWsdl();

            // Check service name and endpoint name
            QName serviceName = xfireService.getName();
            QName interfName = xfireService.getServiceInfo().getPortType();
            String endpointName = null;
            if (service == null) {
                service = serviceName;
            } else if (!service.equals(serviceName)) {
                logger.warn("The service name defined in the wsdl (" + serviceName +
                            ") does not match the service name defined in the endpoint spec (" + service +
                            "). WSDL description may be unusable.");
            }
            if (interfaceName == null) {
                interfaceName = interfName;
            } else if (!interfaceName.equals(interfName)) {
                logger.warn("The interface name defined in the wsdl (" + interfName +
                        ") does not match the service name defined in the endpoint spec (" + interfaceName +
                        "). WSDL description may be unusable.");
            }

            // Parse the WSDL
            WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
            reader.setFeature(Constants.FEATURE_VERBOSE, false);
            definition = reader.readWSDL(null, description);

            javax.wsdl.Service svc = definition.getService(serviceName);
            if (svc != null) {
                if (svc.getPorts().values().size() == 1) {
                    Port port = (Port) svc.getPorts().values().iterator().next();
                    // Check if this is the same as defined in endpoint spec
                    endpointName = port.getName();
                    if (endpoint == null) {
                        endpoint = endpointName;
                    } else if (!endpoint.equals(endpointName)) {
                        // Override generated WSDL
                        port.setName(endpoint);
                        description = WSDLFactory.newInstance().newWSDLWriter().getDocument(definition);
                    }
                }
            }
            if (endpoint == null) {
                throw new IllegalArgumentException("endpoint name should be provided");
            }

            // Flatten it
            definition = new WSDLFlattener(definition).getDefinition(interfaceName);
            description = WSDLFactory.newInstance().newWSDLWriter().getDocument(definition);

            // Write WSDL
            if (logger.isDebugEnabled()) {
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
View Full Code Here

            su.setDefinitionKeys(defKeys);
            Definition rootDef = loadMainWsdl(serviceUnitRootPath);
            checkDefinition(rootDef, true);
            su.setDefinition(rootDef);
            WSDLWriter writer = WSDLFactory.newInstance().newWSDLWriter();
            WSDLFlattener flattener = new WSDLFlattener(rootDef);
            for (Iterator it = rootDef.getServices().values().iterator(); it.hasNext();) {
        Service svc = (Service) it.next();
        for (Iterator it2 = svc.getPorts().values().iterator(); it2.hasNext();) {
          Port pt = (Port) it2.next();
          BPEEndpoint ep = new BPEEndpoint();
          ep.setServiceUnit(su);
          ep.setInterfaceName(pt.getBinding().getPortType().getQName());
          ep.setService(svc.getQName());
          ep.setEndpoint(pt.getName());
                    Definition def = flattener.getDefinition(ep.getInterfaceName());
                    Document desc = writer.getDocument(def);
                    ep.setDefinition(def);
                    ep.setDescription(desc);
                    // Retrieve wsdl
                    validate(ep);
View Full Code Here

TOP

Related Classes of org.apache.servicemix.common.tools.wsdl.WSDLFlattener

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.