Search in sources :

Example 16 with Types

use of javax.wsdl.Types in project cxf by apache.

the class WSDLSchemaManager method addWSDLSchemaImport.

public void addWSDLSchemaImport(Definition def, String tns, File file) throws Exception {
    // REVISIT, check if the wsdl schema already exists.
    Types types = def.getTypes();
    if (types == null) {
        types = def.createTypes();
        def.setTypes(types);
    }
    Schema wsdlSchema = (Schema) def.getExtensionRegistry().createExtension(Types.class, new QName(Constants.URI_2001_SCHEMA_XSD, "schema"));
    addWSDLSchemaImport(wsdlSchema, tns, file);
    types.addExtensibilityElement(wsdlSchema);
}
Also used : Types(javax.wsdl.Types) QName(javax.xml.namespace.QName) XmlSchema(org.apache.ws.commons.schema.XmlSchema) Schema(javax.wsdl.extensions.schema.Schema)

Example 17 with Types

use of javax.wsdl.Types in project cxf by apache.

the class WSDLASTVisitor method getLogicalDefinition.

// Gets the logical definition for a file - an import will be added for the
// schema types if -T is used and a separate schema file generated.
// if -n is used an import will be added for the schema types and no types generated.
private Definition getLogicalDefinition(String schemaFilename, Writer schemaWriter) throws WSDLException, JAXBException, Exception {
    Definition def = manager.createWSDLDefinition(targetNamespace);
    // checks for -T option.
    if (schemaFilename != null) {
        writeSchemaDefinition(definition, schemaWriter);
        manager.addWSDLSchemaImport(def, schema.getTargetNamespace(), schemaFilename);
    } else {
        // checks for -n option
        if (importSchemaFilename == null) {
            Types types = definition.getTypes();
            def.setTypes(types);
        } else {
            manager.addWSDLSchemaImport(def, schema.getTargetNamespace(), importSchemaFilename);
        }
    }
    Collection<PortType> portTypes = CastUtils.cast(definition.getAllPortTypes().values());
    for (PortType port : portTypes) {
        def.addPortType(port);
    }
    Collection<Message> messages = CastUtils.cast(definition.getMessages().values());
    for (Message msg : messages) {
        def.addMessage(msg);
    }
    Collection<String> namespaces = CastUtils.cast(definition.getNamespaces().values());
    for (String namespace : namespaces) {
        String prefix = definition.getPrefix(namespace);
        if (!"corba".equals(prefix)) {
            def.addNamespace(prefix, namespace);
        } else {
            def.removeNamespace(prefix);
        }
    }
    Collection<Import> imports = CastUtils.cast(definition.getImports().values());
    for (Import importType : imports) {
        def.addImport(importType);
    }
    def.setDocumentationElement(definition.getDocumentationElement());
    def.setDocumentBaseURI(definition.getDocumentBaseURI());
    return def;
}
Also used : Types(javax.wsdl.Types) Import(javax.wsdl.Import) Message(javax.wsdl.Message) Definition(javax.wsdl.Definition) PortType(javax.wsdl.PortType)

Aggregations

Types (javax.wsdl.Types)17 Schema (javax.wsdl.extensions.schema.Schema)14 XmlSchema (org.apache.ws.commons.schema.XmlSchema)7 Element (org.w3c.dom.Element)7 ExtensibilityElement (javax.wsdl.extensions.ExtensibilityElement)6 SchemaImport (javax.wsdl.extensions.schema.SchemaImport)6 QName (javax.xml.namespace.QName)6 List (java.util.List)3 Import (javax.wsdl.Import)3 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 Definition (javax.wsdl.Definition)2 Message (javax.wsdl.Message)2 WSDLException (javax.wsdl.WSDLException)2 UnknownExtensibilityElement (javax.wsdl.extensions.UnknownExtensibilityElement)2 SchemaInfo (org.apache.cxf.service.model.SchemaInfo)2 Test (org.junit.Test)2 Gson (com.google.gson.Gson)1