ws-axis-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@apache.org
Subject cvs commit: ws-axis/java/src/org/apache/axis/deployment/wsdd WSDDService.java
Date Thu, 20 Jan 2005 14:18:06 GMT
dims        2005/01/20 06:18:06

  Modified:    java/src/org/apache/axis AxisEngine.java
               java/src/org/apache/axis/encoding
                        DefaultTypeMappingImpl.java
                        TypeMappingRegistryImpl.java
               java/src/org/apache/axis/wsdl/toJava Emitter.java
                        JavaDeployWriter.java JavaServiceImplWriter.java
               java/src/org/apache/axis/wsdl Java2WSDL.java
               java/src/org/apache/axis/client Service.java
               java/src/org/apache/axis/deployment/wsdd WSDDService.java
  Log:
  - Eliminate the axis.jaxrpc11Compliance flag
  - Support typeMappingVersion setting per service
  - At codegen time, add more information in deploy.wsdd and Locator for setting typemappingversion
  
  Notes:
  - Glen/Tom, PLEASE review the code.
  - Still check/need to fix wrong xsi:types at runtime for JAXRPC11
  - Need to run TCK.
  
  Revision  Changes    Path
  1.118     +0 -13     ws-axis/java/src/org/apache/axis/AxisEngine.java
  
  Index: AxisEngine.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/AxisEngine.java,v
  retrieving revision 1.117
  retrieving revision 1.118
  diff -u -r1.117 -r1.118
  --- AxisEngine.java	10 Jan 2005 19:02:30 -0000	1.117
  +++ AxisEngine.java	20 Jan 2005 14:18:05 -0000	1.118
  @@ -120,19 +120,6 @@
        */
       private ArrayList actorURIs = new ArrayList();
   
  -    /** Are we in JAX-RPC 1.1 compatibility mode? */
  -    public static boolean jaxrpc11Compliance = false;
  -    static {
  -        try {
  -            // We check a system property, but we can use use switches
  -            // to control this in WSDL2Java and at runtime.
  -            jaxrpc11Compliance =
  -                    System.getProperty("axis.jaxrpc11Compliance", "false")
  -                    .equalsIgnoreCase("true");
  -        } catch (Throwable t) {
  -        }
  -    }
  -
       /**
        * Thread local storage used for locating the active message context.
        * This information is only valid for the lifetime of this request.
  
  
  
  1.86      +3 -8      ws-axis/java/src/org/apache/axis/encoding/DefaultTypeMappingImpl.java
  
  Index: DefaultTypeMappingImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/DefaultTypeMappingImpl.java,v
  retrieving revision 1.85
  retrieving revision 1.86
  diff -u -r1.85 -r1.86
  --- DefaultTypeMappingImpl.java	18 Jan 2005 03:38:02 -0000	1.85
  +++ DefaultTypeMappingImpl.java	20 Jan 2005 14:18:05 -0000	1.86
  @@ -17,7 +17,6 @@
   package org.apache.axis.encoding;
   
   import org.apache.axis.Constants;
  -import org.apache.axis.AxisEngine;
   import org.apache.axis.attachments.OctetStream;
   import org.apache.axis.encoding.ser.ArrayDeserializerFactory;
   import org.apache.axis.encoding.ser.ArraySerializerFactory;
  @@ -27,6 +26,8 @@
   import org.apache.axis.encoding.ser.BeanSerializerFactory;
   import org.apache.axis.encoding.ser.DateDeserializerFactory;
   import org.apache.axis.encoding.ser.DateSerializerFactory;
  +import org.apache.axis.encoding.ser.DocumentDeserializerFactory;
  +import org.apache.axis.encoding.ser.DocumentSerializerFactory;
   import org.apache.axis.encoding.ser.ElementDeserializerFactory;
   import org.apache.axis.encoding.ser.ElementSerializerFactory;
   import org.apache.axis.encoding.ser.HexDeserializerFactory;
  @@ -41,8 +42,6 @@
   import org.apache.axis.encoding.ser.SimpleSerializerFactory;
   import org.apache.axis.encoding.ser.VectorDeserializerFactory;
   import org.apache.axis.encoding.ser.VectorSerializerFactory;
  -import org.apache.axis.encoding.ser.DocumentDeserializerFactory;
  -import org.apache.axis.encoding.ser.DocumentSerializerFactory;
   import org.apache.axis.schema.SchemaVersion;
   import org.apache.axis.types.HexBinary;
   import org.apache.axis.utils.JavaUtils;
  @@ -82,11 +81,7 @@
        */
       public static synchronized TypeMapping getSingleton() {
           if (tm == null) {
  -            if(AxisEngine.jaxrpc11Compliance) {
  -                tm = new DefaultJAXRPC11TypeMappingImpl();
  -            } else {
  -                tm = new DefaultTypeMappingImpl();
  -            }
  +            tm = new DefaultTypeMappingImpl();
           }
           return tm;
       }
  
  
  
  1.27      +9 -1      ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java
  
  Index: TypeMappingRegistryImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- TypeMappingRegistryImpl.java	25 Feb 2004 14:02:36 -0000	1.26
  +++ TypeMappingRegistryImpl.java	20 Jan 2005 14:18:05 -0000	1.27
  @@ -130,7 +130,15 @@
       private HashMap mapTM;          // Type Mappings keyed with Namespace URI
       private TypeMapping defaultDelTM;  // Delegate to default Type Mapping 
   
  -
  +    /**
  +     * Construct TypeMappingRegistry
  +     * @param tm
  +     */ 
  +    public TypeMappingRegistryImpl(TypeMapping tm) {
  +        mapTM = new HashMap();
  +        defaultDelTM = tm;
  +        register(Constants.URI_SOAP11_ENC, new DefaultSOAPEncodingTypeMappingImpl());
  +    }
   
       /**
        * Construct TypeMappingRegistry
  
  
  
  1.78      +10 -3     ws-axis/java/src/org/apache/axis/wsdl/toJava/Emitter.java
  
  Index: Emitter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/toJava/Emitter.java,v
  retrieving revision 1.77
  retrieving revision 1.78
  diff -u -r1.77 -r1.78
  --- Emitter.java	18 Jan 2005 03:38:03 -0000	1.77
  +++ Emitter.java	20 Jan 2005 14:18:05 -0000	1.78
  @@ -15,12 +15,11 @@
    */
   package org.apache.axis.wsdl.toJava;
   
  +import org.apache.axis.encoding.DefaultJAXRPC11TypeMappingImpl;
   import org.apache.axis.encoding.DefaultSOAPEncodingTypeMappingImpl;
  -import org.apache.axis.encoding.TypeMapping;
   import org.apache.axis.encoding.DefaultTypeMappingImpl;
  -import org.apache.axis.encoding.DefaultJAXRPC11TypeMappingImpl;
  +import org.apache.axis.encoding.TypeMapping;
   import org.apache.axis.enum.Scope;
  -import org.apache.axis.enum.Use;
   import org.apache.axis.i18n.Messages;
   import org.apache.axis.utils.ClassUtils;
   import org.apache.axis.utils.JavaUtils;
  @@ -749,6 +748,13 @@
       }    // getNStoPkgFromPropsFile
   
       /**
  +     * Get the typemapping version
  +     */
  +    public String getTypeMappingVersion() {
  +        return typeMappingVersion;    
  +    }
  +    
  +    /**
        * Method setTypeMappingVersion
        * 
        * @param typeMappingVersion 
  @@ -766,6 +772,7 @@
               } else {
                   throw new RuntimeException(org.apache.axis.utils.Messages.getMessage("j2wBadTypeMapping00"));
               }
  +            this.typeMappingVersion = typeMappingVersion;
               setDefaultTypeMapping(defaultTM);
           }
           baseTypeMapping = new BaseTypeMapping() {
  
  
  
  1.87      +10 -2     ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaDeployWriter.java
  
  Index: JavaDeployWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaDeployWriter.java,v
  retrieving revision 1.86
  retrieving revision 1.87
  diff -u -r1.86 -r1.87
  --- JavaDeployWriter.java	6 Jul 2004 23:19:40 -0000	1.86
  +++ JavaDeployWriter.java	20 Jan 2005 14:18:05 -0000	1.87
  @@ -47,11 +47,11 @@
   import java.io.PrintWriter;
   import java.util.ArrayList;
   import java.util.Collection;
  +import java.util.HashMap;
   import java.util.HashSet;
   import java.util.Iterator;
   import java.util.Map;
   import java.util.Vector;
  -import java.util.HashMap;
   
   /**
    * This is Wsdl2java's deploy Writer.  It writes the deploy.wsdd file.
  @@ -64,6 +64,9 @@
       /** Field symbolTable */
       protected SymbolTable symbolTable;
   
  +    /** Field emitter */
  +    protected Emitter emitter;
  +    
       /**
        * Constructor.
        *
  @@ -75,7 +78,8 @@
                               SymbolTable symbolTable) {
   
           super(emitter, "deploy");
  -
  +        
  +        this.emitter = emitter;
           this.definition = definition;
           this.symbolTable = symbolTable;
       }    // ctor
  @@ -400,6 +404,10 @@
   
           pw.println("      <parameter name=\"className\" value=\"" + className
                   + "\"/>");
  +
  +        pw.println("      <parameter name=\"typeMappingVersion\" value=\"" 
  +                   + emitter.getTypeMappingVersion() + "\"/>");
  +        
           pw.println("      <parameter name=\"wsdlPortType\" value=\""
                   + binding.getPortType().getQName().getLocalPart() + "\"/>");
   
  
  
  
  1.43      +3 -2      ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaServiceImplWriter.java
  
  Index: JavaServiceImplWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaServiceImplWriter.java,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- JavaServiceImplWriter.java	21 Dec 2004 20:17:01 -0000	1.42
  +++ JavaServiceImplWriter.java	20 Jan 2005 14:18:05 -0000	1.43
  @@ -27,8 +27,6 @@
   import javax.wsdl.Port;
   import javax.wsdl.Service;
   import javax.xml.namespace.QName;
  -import javax.xml.rpc.ServiceException;
  -
   import java.io.IOException;
   import java.io.PrintWriter;
   import java.net.MalformedURLException;
  @@ -278,6 +276,7 @@
           pw.println();
           pw.println("    public " + Utils.getJavaLocalName(sEntry.getName())
                   + "Locator() {");
  +        pw.println("        setTypeMappingVersion(\"" + emitter.getTypeMappingVersion()
+ "\");");
           pw.println("    }");
           pw.println();
       	
  @@ -286,6 +285,7 @@
           pw.println("    public " + Utils.getJavaLocalName(sEntry.getName())
                   + "Locator(org.apache.axis.EngineConfiguration config) {");
           pw.println("        super(config);");
  +        pw.println("        setTypeMappingVersion(\"" + emitter.getTypeMappingVersion()
+ "\");");
           pw.println("    }");
   
           //Write a constructor that accepts String wsdl location + Service QName
  @@ -294,6 +294,7 @@
                   + "Locator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) "
                   + "throws " + javax.xml.rpc.ServiceException.class.getName() + " {");
           pw.println("        super(wsdlLoc, sName);");
  +        pw.println("        setTypeMappingVersion(\"" + emitter.getTypeMappingVersion()
+ "\");");
           pw.println("    }");
       }
   
  
  
  
  1.47      +0 -3      ws-axis/java/src/org/apache/axis/wsdl/Java2WSDL.java
  
  Index: Java2WSDL.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/Java2WSDL.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- Java2WSDL.java	18 Jan 2005 03:38:03 -0000	1.46
  +++ Java2WSDL.java	20 Jan 2005 14:18:05 -0000	1.47
  @@ -15,9 +15,6 @@
    */
   package org.apache.axis.wsdl;
   
  -import org.apache.axis.encoding.DefaultSOAPEncodingTypeMappingImpl;
  -import org.apache.axis.encoding.DefaultTypeMappingImpl;
  -import org.apache.axis.encoding.DefaultJAXRPC11TypeMappingImpl;
   import org.apache.axis.utils.CLArgsParser;
   import org.apache.axis.utils.CLOption;
   import org.apache.axis.utils.CLOptionDescriptor;
  
  
  
  1.102     +48 -26    ws-axis/java/src/org/apache/axis/client/Service.java
  
  Index: Service.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/client/Service.java,v
  retrieving revision 1.101
  retrieving revision 1.102
  diff -u -r1.101 -r1.102
  --- Service.java	24 Nov 2004 17:09:29 -0000	1.101
  +++ Service.java	20 Jan 2005 14:18:06 -0000	1.102
  @@ -16,19 +16,21 @@
   
   package org.apache.axis.client;
   
  -import java.io.InputStream;
  -import java.io.Serializable;
  -import java.lang.reflect.Constructor;
  -import java.lang.reflect.Proxy;
  -import java.net.MalformedURLException;
  -import java.net.URL;
  -import java.rmi.Remote;
  -import java.util.HashMap;
  -import java.util.Hashtable;
  -import java.util.Iterator;
  -import java.util.List;
  -import java.util.Map;
  -import java.util.Vector;
  +import org.apache.axis.AxisEngine;
  +import org.apache.axis.EngineConfiguration;
  +import org.apache.axis.configuration.EngineConfigurationFactoryFinder;
  +import org.apache.axis.encoding.DefaultJAXRPC11TypeMappingImpl;
  +import org.apache.axis.encoding.DefaultSOAPEncodingTypeMappingImpl;
  +import org.apache.axis.encoding.DefaultTypeMappingImpl;
  +import org.apache.axis.utils.ClassUtils;
  +import org.apache.axis.utils.Messages;
  +import org.apache.axis.utils.WSDLUtils;
  +import org.apache.axis.utils.XMLUtils;
  +import org.apache.axis.wsdl.gen.Parser;
  +import org.apache.axis.wsdl.symbolTable.BindingEntry;
  +import org.apache.axis.wsdl.symbolTable.ServiceEntry;
  +import org.apache.axis.wsdl.symbolTable.SymbolTable;
  +import org.w3c.dom.Document;
   
   import javax.naming.Reference;
   import javax.naming.Referenceable;
  @@ -40,21 +42,22 @@
   import javax.wsdl.extensions.soap.SOAPAddress;
   import javax.xml.namespace.QName;
   import javax.xml.rpc.ServiceException;
  +import javax.xml.rpc.encoding.TypeMapping;
   import javax.xml.rpc.encoding.TypeMappingRegistry;
   import javax.xml.rpc.handler.HandlerRegistry;
  -
  -import org.apache.axis.AxisEngine;
  -import org.apache.axis.EngineConfiguration;
  -import org.apache.axis.configuration.EngineConfigurationFactoryFinder;
  -import org.apache.axis.utils.ClassUtils;
  -import org.apache.axis.utils.Messages;
  -import org.apache.axis.utils.WSDLUtils;
  -import org.apache.axis.utils.XMLUtils;
  -import org.apache.axis.wsdl.gen.Parser;
  -import org.apache.axis.wsdl.symbolTable.BindingEntry;
  -import org.apache.axis.wsdl.symbolTable.ServiceEntry;
  -import org.apache.axis.wsdl.symbolTable.SymbolTable;
  -import org.w3c.dom.Document;
  +import java.io.InputStream;
  +import java.io.Serializable;
  +import java.lang.reflect.Constructor;
  +import java.lang.reflect.Proxy;
  +import java.net.MalformedURLException;
  +import java.net.URL;
  +import java.rmi.Remote;
  +import java.util.HashMap;
  +import java.util.Hashtable;
  +import java.util.Iterator;
  +import java.util.List;
  +import java.util.Map;
  +import java.util.Vector;
   
   /**
    * Axis' JAXRPC Dynamic Invoation Interface implementation of the Service
  @@ -898,4 +901,23 @@
           return (Transport) transportImpls.get(url.toString());
       }
   
  +    /**
  +     * Set the typemapping version
  +     * @param version
  +     */ 
  +    public void setTypeMappingVersion(String version) {
  +        TypeMapping tm = null;
  +        if (version.equals("1.0")) {
  +            tm = DefaultSOAPEncodingTypeMappingImpl.create();
  +        } else if (version.equals("1.1")) {
  +            tm = DefaultTypeMappingImpl.getSingleton();
  +        } else if (version.equals("1.2")) {
  +            tm = DefaultSOAPEncodingTypeMappingImpl.createWithDelegate();
  +        } else if (version.equals("1.3")) {
  +            tm = DefaultJAXRPC11TypeMappingImpl.createWithDelegate();
  +        } else {
  +            throw new RuntimeException(org.apache.axis.utils.Messages.getMessage("j2wBadTypeMapping00"));
  +        }
  +        getTypeMappingRegistry().registerDefault(tm);
  +    }
   }
  
  
  
  1.108     +26 -3     ws-axis/java/src/org/apache/axis/deployment/wsdd/WSDDService.java
  
  Index: WSDDService.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/deployment/wsdd/WSDDService.java,v
  retrieving revision 1.107
  retrieving revision 1.108
  diff -u -r1.107 -r1.108
  --- WSDDService.java	25 May 2004 19:41:44 -0000	1.107
  +++ WSDDService.java	20 Jan 2005 14:18:06 -0000	1.108
  @@ -27,6 +27,9 @@
   import org.apache.axis.attachments.AttachmentsImpl;
   import org.apache.axis.description.JavaServiceDesc;
   import org.apache.axis.description.ServiceDesc;
  +import org.apache.axis.encoding.DefaultJAXRPC11TypeMappingImpl;
  +import org.apache.axis.encoding.DefaultSOAPEncodingTypeMappingImpl;
  +import org.apache.axis.encoding.DefaultTypeMappingImpl;
   import org.apache.axis.encoding.DeserializerFactory;
   import org.apache.axis.encoding.SerializationContext;
   import org.apache.axis.encoding.SerializerFactory;
  @@ -48,9 +51,9 @@
   import javax.xml.namespace.QName;
   import java.io.IOException;
   import java.util.ArrayList;
  +import java.util.List;
   import java.util.StringTokenizer;
   import java.util.Vector;
  -import java.util.List;
   
   /**
    * A service represented in WSDD.
  @@ -240,7 +243,7 @@
           // If not created, construct a tmr
           // and populate it with the type mappings.
           if (tmr == null) {
  -            tmr = new TypeMappingRegistryImpl();
  +            createTMR();
               for (int i=0; i<typeMappings.size(); i++) {
                   deployTypeMapping((WSDDTypeMapping)
                                     typeMappings.get(i));
  @@ -248,6 +251,26 @@
           }
       }
   
  +    private void createTMR() {
  +        String version = getParameter("typeMappingVersion");
  +        if(version != null) {
  +            TypeMapping tm = null;
  +            if (version.equals("1.0")) {
  +                tm = DefaultSOAPEncodingTypeMappingImpl.create();
  +            } else if (version.equals("1.1")) {
  +                tm = DefaultTypeMappingImpl.getSingleton();
  +            } else if (version.equals("1.2")) {
  +                tm = DefaultSOAPEncodingTypeMappingImpl.createWithDelegate();
  +            } else if (version.equals("1.3")) {
  +                tm = DefaultJAXRPC11TypeMappingImpl.createWithDelegate();
  +            } else {
  +                throw new RuntimeException(org.apache.axis.utils.Messages.getMessage("j2wBadTypeMapping00"));
  +            }
  +            tmr = new TypeMappingRegistryImpl(tm);
  +        } else {
  +            tmr = new TypeMappingRegistryImpl();
  +        }
  +    }
   
       /**
        * This method can be used for dynamic deployment using new WSDDService()
  @@ -500,7 +523,7 @@
               typeMappings.add(mapping);
           }
           if (tmr == null) {
  -            tmr = new TypeMappingRegistryImpl();
  +            createTMR();
           }
           try {
               // Get the encoding style from the mapping, if it isn't set
  
  
  

Mime
View raw message