Return-Path: Delivered-To: apmail-ws-axis-cvs-archive@www.apache.org Received: (qmail 48007 invoked from network); 20 Jan 2005 14:18:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 20 Jan 2005 14:18:10 -0000 Received: (qmail 32156 invoked by uid 500); 20 Jan 2005 14:18:08 -0000 Delivered-To: apmail-ws-axis-cvs-archive@ws.apache.org Received: (qmail 32107 invoked by uid 500); 20 Jan 2005 14:18:08 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 32093 invoked by uid 99); 20 Jan 2005 14:18:08 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Thu, 20 Jan 2005 06:18:07 -0800 Received: (qmail 47962 invoked by uid 1203); 20 Jan 2005 14:18:06 -0000 Date: 20 Jan 2005 14:18:06 -0000 Message-ID: <20050120141806.47961.qmail@minotaur.apache.org> From: dims@apache.org To: ws-axis-cvs@apache.org Subject: cvs commit: ws-axis/java/src/org/apache/axis/deployment/wsdd WSDDService.java X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N 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(" "); + + pw.println(" "); + pw.println(" "); 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