You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Glen Daniels <gd...@macromedia.com> on 2002/09/25 21:50:17 UTC
RE: [VOTE] incorporate the following fixes in to the 1_0 branch a
nd into rc2
+1 for both, these fixes are all good.
> -----Original Message-----
> From: Sam Ruby [mailto:rubys@apache.org]
> Sent: Wednesday, September 25, 2002 3:46 PM
> To: axis-dev@xml.apache.org
> Subject: [VOTE] incorporate the following fixes in to the 1_0
> branch and
> into rc2
>
>
> Index: java/README
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/README,v
> retrieving revision 1.12.4.1
> retrieving revision 1.13
> diff -u -r1.12.4.1 -r1.13
> Index: java/axis.properties
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/axis.properties,v
> retrieving revision 1.9
> retrieving revision 1.10
> diff -u -r1.9 -r1.10
> --- java/axis.properties 30 Aug 2002 19:34:26 -0000 1.9
> +++ java/axis.properties 25 Sep 2002 19:01:45 -0000 1.10
> @@ -1,4 +1,4 @@
> -axis.version=beta 4
> +axis.version=1.0rc2
>
> name=axis
> Name=Axis
> Index: java/build.xml
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/build.xml,v
> retrieving revision 1.196
> retrieving revision 1.197
> diff -u -r1.196 -r1.197
> --- java/build.xml 24 Sep 2002 23:47:01 -0000 1.196
> +++ java/build.xml 25 Sep 2002 16:20:46 -0000 1.197
> @@ -281,7 +281,7 @@
>
> </target>
>
> - <target name="componentTest" depends="compile, buildTest">
> + <target name="runComponentTests" depends="compile, buildTest">
> <ant inheritAll="${ant.inheritAll}"
> inheritRefs="${ant.inheritRefs}" dir="${axis.home}"
> antfile="buildTest.xml" target="componentTest"/>
> </target>
>
> Index: java/src/org/apache/axis/deployment/wsdd/WSDDDeployment.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/WS
> DDDeployment.java,v
> retrieving revision 1.49
> retrieving revision 1.50
> diff -u -r1.49 -r1.50
> --- java/src/org/apache/axis/deployment/wsdd/WSDDDeployment.java
> 25 Sep 2002 00:55:08 -0000 1.49
> +++ java/src/org/apache/axis/deployment/wsdd/WSDDDeployment.java
> 25 Sep 2002 15:10:18 -0000 1.50
> @@ -567,10 +567,7 @@
> serviceDescs.add(service.getServiceDesc());
> } catch (WSDDNonFatalException ex) {
> // If it's non-fatal, just keep on going
> - ex.printStackTrace();
> - } catch (WSDDException ex) {
> - // otherwise throw it upwards
> - throw ex;
> + log.debug("Ingoring non-fatal exception: ", ex);
> }
> }
> return serviceDescs.iterator();
> Index: java/src/org/apache/axis/description/ServiceDesc.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/description/Servic
> eDesc.java,v
> retrieving revision 1.60
> retrieving revision 1.61
> diff -u -r1.60 -r1.61
> --- java/src/org/apache/axis/description/ServiceDesc.java
> 24 Sep
> 2002 21:02:23 -0000 1.60
> +++ java/src/org/apache/axis/description/ServiceDesc.java
> 25 Sep
> 2002 16:54:24 -0000 1.61
> @@ -431,7 +431,9 @@
>
> if (overloads == null) {
> // Nothing specifically matching this QName.
> - if ((style == Style.RPC) && (name2OperationsMap
> != null)) {
> + if (((style == Style.RPC) || ((style==Style.MESSAGE) &&
> + (getDefaultNamespace() ==
> null))) &&
> + (name2OperationsMap != null)) {
> // Try ignoring the namespace....?
> overloads =
> (ArrayList)name2OperationsMap.get(qname.getLocalPart());
> }
> Index:
> java/src/org/apache/axis/encoding/DefaultSOAP12TypeMappingImpl.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DefaultSO
> AP12TypeMappingImpl.java,v
> retrieving revision 1.4
> retrieving revision 1.5
> diff -u -r1.4 -r1.5
> ---
> java/src/org/apache/axis/encoding/DefaultSOAP12TypeMappingImpl.java
> 22 May 2002 18:59:15 -0000 1.4
> +++
> java/src/org/apache/axis/encoding/DefaultSOAP12TypeMappingImpl.java
> 25 Sep 2002 16:29:47 -0000 1.5
> @@ -98,26 +98,19 @@
>
> // SOAP Encoded strings are treated as primitives.
> // Everything else is not.
> - myRegister(Constants.SOAP_STRING, java.lang.String.class,
> - null, null, true);
> - myRegister(Constants.SOAP_BOOLEAN,
> java.lang.Boolean.class,
> - null, null, false);
> - myRegister(Constants.SOAP_DOUBLE, java.lang.Double.class,
> - null, null, false);
> - myRegister(Constants.SOAP_FLOAT, java.lang.Float.class,
> - null, null, false);
> - myRegister(Constants.SOAP_INT,
> java.lang.Integer.class,
> - null, null, false);
> - myRegister(Constants.SOAP_INTEGER,
> java.math.BigInteger.class,
> - null, null, false);
> - myRegister(Constants.SOAP_DECIMAL,
> java.math.BigDecimal.class,
> - null, null, false);
> - myRegister(Constants.SOAP_LONG, java.lang.Long.class,
> - null, null, false);
> - myRegister(Constants.SOAP_SHORT, java.lang.Short.class,
> - null, null, false);
> - myRegister(Constants.SOAP_BYTE, java.lang.Byte.class,
> - null, null, false);
> + myRegisterSimple(Constants.SOAP_STRING,
> java.lang.String.class,
> true);
> + myRegisterSimple(Constants.SOAP_BOOLEAN,
> + java.lang.Boolean.class, false);
> + myRegisterSimple(Constants.SOAP_DOUBLE,
> java.lang.Double.class,
> false);
> + myRegisterSimple(Constants.SOAP_FLOAT,
> java.lang.Float.class,
> false);
> + myRegisterSimple(Constants.SOAP_INT,
> java.lang.Integer.class,
> false);
> + myRegisterSimple(Constants.SOAP_INTEGER,
> + java.math.BigInteger.class, false);
> + myRegisterSimple(Constants.SOAP_DECIMAL,
> java.math.BigDecimal.class,
> + false);
> + myRegisterSimple(Constants.SOAP_LONG,
> java.lang.Long.class, false);
> + myRegisterSimple(Constants.SOAP_SHORT,
> java.lang.Short.class,
> false);
> + myRegisterSimple(Constants.SOAP_BYTE,
> java.lang.Byte.class, false);
>
> // SOAP 1.2
> // byte[] -ser-> SOAP_BASE64
> @@ -127,7 +120,7 @@
> new Base64SerializerFactory(byte[].class,
>
> Constants.SOAP_BASE64 ),
> new Base64DeserializerFactory(byte[].class,
> -
> Constants.SOAP_BASE64),
> - true);
> +
> Constants.SOAP_BASE64)
> + );
> }
> }
> Index: java/src/org/apache/axis/encoding/DefaultTypeMappingImpl.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DefaultTy
> peMappingImpl.java,v
> retrieving revision 1.55
> retrieving revision 1.57
> diff -u -r1.55 -r1.57
> --- java/src/org/apache/axis/encoding/DefaultTypeMappingImpl.java
> 18 Sep 2002 16:10:37 -0000 1.55
> +++ java/src/org/apache/axis/encoding/DefaultTypeMappingImpl.java
> 25 Sep 2002 18:27:03 -0000 1.57
> @@ -149,45 +149,36 @@
> Constants.MIME_PLAINTEXT),
> new JAFDataHandlerDeserializerFactory(
> java.lang.String.class,
> - Constants.MIME_PLAINTEXT), false);
> + Constants.MIME_PLAINTEXT));
> }
>
> // SOAP Encoded strings are treated as primitives.
> // Everything else is not.
> - // Note that only deserializing is supported since
> we are flowing
> - // SOAP 1.1 over the wire.
> - myRegister(Constants.SOAP_STRING, java.lang.String.class,
> - null, null, true);
> - myRegister(Constants.SOAP_BOOLEAN,
> java.lang.Boolean.class,
> - null, null, false);
> - myRegister(Constants.SOAP_DOUBLE, java.lang.Double.class,
> - null, null, false);
> - myRegister(Constants.SOAP_FLOAT, java.lang.Float.class,
> - null, null, false);
> - myRegister(Constants.SOAP_INT,
> java.lang.Integer.class,
> - null, null, false);
> - myRegister(Constants.SOAP_INTEGER,
> java.math.BigInteger.class,
> - null, null, false);
> - myRegister(Constants.SOAP_DECIMAL,
> java.math.BigDecimal.class,
> - null, null, false);
> - myRegister(Constants.SOAP_LONG, java.lang.Long.class,
> - null, null, false);
> - myRegister(Constants.SOAP_SHORT, java.lang.Short.class,
> - null, null, false);
> - myRegister(Constants.SOAP_BYTE, java.lang.Byte.class,
> - null, null, false);
> + myRegisterSimple(Constants.SOAP_STRING,
> java.lang.String.class,
> true);
> + myRegisterSimple(Constants.SOAP_BOOLEAN,
> + java.lang.Boolean.class, false);
> + myRegisterSimple(Constants.SOAP_DOUBLE,
> java.lang.Double.class,
> false);
> + myRegisterSimple(Constants.SOAP_FLOAT,
> java.lang.Float.class,
> false);
> + myRegisterSimple(Constants.SOAP_INT,
> java.lang.Integer.class,
> false);
> + myRegisterSimple(Constants.SOAP_INTEGER,
> + java.math.BigInteger.class, false);
> + myRegisterSimple(Constants.SOAP_DECIMAL,
> java.math.BigDecimal.class,
> + false);
> + myRegisterSimple(Constants.SOAP_LONG,
> java.lang.Long.class, false);
> + myRegisterSimple(Constants.SOAP_SHORT,
> java.lang.Short.class,
> false);
> + myRegisterSimple(Constants.SOAP_BYTE,
> java.lang.Byte.class, false);
>
> // HexBinary binary data needs to use the hex binary
> serializer/deserializer
> myRegister(Constants.XSD_HEXBIN, HexBinary.class,
> new HexSerializerFactory(
> HexBinary.class, Constants.XSD_HEXBIN),
> new HexDeserializerFactory(
> - HexBinary.class, Constants.XSD_HEXBIN),true);
> + HexBinary.class, Constants.XSD_HEXBIN));
> myRegister(Constants.XSD_HEXBIN, byte[].class,
> new HexSerializerFactory(
> byte[].class, Constants.XSD_HEXBIN),
> new HexDeserializerFactory(
> - byte[].class, Constants.XSD_HEXBIN),true);
> + byte[].class, Constants.XSD_HEXBIN));
>
> // SOAP 1.1
> // byte[] -ser-> XSD_BASE64
> @@ -204,20 +195,20 @@
> // as discrete bytes without interference with XSD_BASE64.
> myRegister(Constants.XSD_BYTE, byte[].class,
> new ArraySerializerFactory(),
> - null,
> - false);
> + null
> + );
>
> myRegister(Constants.SOAP_BASE64, byte[].class,
> new Base64SerializerFactory(byte[].class,
>
> Constants.SOAP_BASE64 ),
> new Base64DeserializerFactory(byte[].class,
> -
> Constants.SOAP_BASE64),
> - true);
> +
> Constants.SOAP_BASE64)
> + );
> myRegister(Constants.XSD_BASE64, byte[].class,
> new Base64SerializerFactory(byte[].class,
>
> Constants.XSD_BASE64 ),
> new Base64DeserializerFactory(byte[].class,
> -
> Constants.XSD_BASE64),true);
> + Constants.XSD_BASE64));
> /*
> // This JSR 101 change occurred right before v1.0.
> // This mapping is not roundtrippable, and breaks
> the roundtrip
> @@ -251,42 +242,27 @@
> */
>
> // If SOAP 1.1 over the wire, map wrapper classes to XSD
> primitives.
> - myRegister(Constants.XSD_STRING, java.lang.String.class,
> - null, null, true);
> - myRegister(Constants.XSD_BOOLEAN, java.lang.Boolean.class,
> - null, null, true);
> - myRegister(Constants.XSD_DOUBLE, java.lang.Double.class,
> - null, null, true);
> - myRegister(Constants.XSD_FLOAT, java.lang.Float.class,
> - null, null, true);
> - myRegister(Constants.XSD_INT, java.lang.Integer.class,
> - null, null, true);
> - myRegister(Constants.XSD_INTEGER,
> java.math.BigInteger.class,
> - null, null, true);
> - myRegister(Constants.XSD_DECIMAL,
> java.math.BigDecimal.class,
> - null, null, true);
> - myRegister(Constants.XSD_LONG, java.lang.Long.class,
> - null, null, true);
> - myRegister(Constants.XSD_SHORT, java.lang.Short.class,
> - null, null, true);
> - myRegister(Constants.XSD_BYTE, java.lang.Byte.class,
> - null, null, true);
> + myRegisterSimple(Constants.XSD_STRING,
> java.lang.String.class,
> true);
> + myRegisterSimple(Constants.XSD_BOOLEAN,
> java.lang.Boolean.class, true);
> + myRegisterSimple(Constants.XSD_DOUBLE,
> java.lang.Double.class,
> true);
> + myRegisterSimple(Constants.XSD_FLOAT,
> java.lang.Float.class, true);
> + myRegisterSimple(Constants.XSD_INT,
> java.lang.Integer.class, true);
> + myRegisterSimple(Constants.XSD_INTEGER,
> java.math.BigInteger.class,
> + true);
> + myRegisterSimple(Constants.XSD_DECIMAL,
> java.math.BigDecimal.class,
> + true);
> + myRegisterSimple(Constants.XSD_LONG,
> java.lang.Long.class, true);
> + myRegisterSimple(Constants.XSD_SHORT,
> java.lang.Short.class, true);
> + myRegisterSimple(Constants.XSD_BYTE,
> java.lang.Byte.class, true);
>
> // The XSD Primitives are mapped to java primitives.
> - myRegister(Constants.XSD_BOOLEAN, boolean.class,
> - null, null,true);
> - myRegister(Constants.XSD_DOUBLE, double.class,
> - null, null,true);
> - myRegister(Constants.XSD_FLOAT, float.class,
> - null, null,true);
> - myRegister(Constants.XSD_INT, int.class,
> - null, null,true);
> - myRegister(Constants.XSD_LONG, long.class,
> - null, null,true);
> - myRegister(Constants.XSD_SHORT, short.class,
> - null, null,true);
> - myRegister(Constants.XSD_BYTE, byte.class,
> - null, null,true);
> + myRegisterSimple(Constants.XSD_BOOLEAN, boolean.class, true);
> + myRegisterSimple(Constants.XSD_DOUBLE, double.class, true);
> + myRegisterSimple(Constants.XSD_FLOAT, float.class, true);
> + myRegisterSimple(Constants.XSD_INT, int.class, true);
> + myRegisterSimple(Constants.XSD_LONG, long.class, true);
> + myRegisterSimple(Constants.XSD_SHORT, short.class, true);
> + myRegisterSimple(Constants.XSD_BYTE, byte.class, true);
>
> // Map QNAME to the jax rpc QName class
> myRegister(Constants.XSD_QNAME,
> @@ -294,12 +270,12 @@
> new
> QNameSerializerFactory(javax.xml.namespace.QName.class,
> Constants.XSD_QNAME),
> new
> QNameDeserializerFactory(javax.xml.namespace.QName.class,
> - Constants.XSD_QNAME),
> - true);
> + Constants.XSD_QNAME)
> + );
>
> // The closest match for anytype is Object
> myRegister(Constants.XSD_ANYTYPE, java.lang.Object.class,
> - null, null, false);
> + null, null);
>
> // See the SchemaVersion classes for where the
> registration of
> // dateTime (for 2001) and timeInstant (for 1999 &
> 2000) happen.
> @@ -307,47 +283,47 @@
> new DateSerializerFactory(java.util.Date.class,
> Constants.XSD_DATE),
> new DateDeserializerFactory(java.util.Date.class,
> - Constants.XSD_DATE),
> - true);
> + Constants.XSD_DATE)
> + );
>
> // Mapping for xsd:time. Map to Axis type Time
> myRegister(Constants.XSD_TIME,
> org.apache.axis.types.Time.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Time.class,
> Constants.XSD_TIME),
> new
> SimpleDeserializerFactory(org.apache.axis.types.Time.class,
> - Constants.XSD_TIME),
> - true);
> + Constants.XSD_TIME)
> + );
> // These are the g* types (gYearMonth, etc) which
> map to Axis
> types
> myRegister(Constants.XSD_YEARMONTH,
> org.apache.axis.types.YearMonth.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.YearMon
> th.class,
>
> Constants.XSD_YEARMONTH),
> new
> SimpleDeserializerFactory(org.apache.axis.types.YearMonth.class,
> -
> Constants.XSD_YEARMONTH),
> - true);
> + Constants.XSD_YEARMONTH)
> + );
> myRegister(Constants.XSD_YEAR,
> org.apache.axis.types.Year.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Year.class,
> Constants.XSD_YEAR),
> new
> SimpleDeserializerFactory(org.apache.axis.types.Year.class,
> - Constants.XSD_YEAR),
> - true);
> + Constants.XSD_YEAR)
> + );
> myRegister(Constants.XSD_MONTH,
> org.apache.axis.types.Month.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Month.class,
> Constants.XSD_MONTH),
> new
> SimpleDeserializerFactory(org.apache.axis.types.Month.class,
> - Constants.XSD_MONTH),
> - true);
> + Constants.XSD_MONTH)
> + );
> myRegister(Constants.XSD_DAY,
> org.apache.axis.types.Day.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Day.class,
> -
> Constants.XSD_YEARMONTH),
> + Constants.XSD_DAY),
> new
> SimpleDeserializerFactory(org.apache.axis.types.Day.class,
> -
> Constants.XSD_YEARMONTH),
> - true);
> + Constants.XSD_DAY)
> + );
> myRegister(Constants.XSD_MONTHDAY,
> org.apache.axis.types.MonthDay.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.MonthDay.class,
>
> Constants.XSD_MONTHDAY),
> new
> SimpleDeserializerFactory(org.apache.axis.types.MonthDay.class,
> - Constants.XSD_MONTHDAY),
> - true);
> + Constants.XSD_MONTHDAY)
> + );
>
> // Serialize all extensions of Map to SOAP_MAP
> // The SOAP_MAP will be deserialized into a HashMap
> by default.
> @@ -355,29 +331,29 @@
> new MapSerializerFactory(java.util.Map.class,
> Constants.SOAP_MAP),
> new
> MapDeserializerFactory(java.util.HashMap.class,
> - Constants.SOAP_MAP),
> - false);
> + Constants.SOAP_MAP)
> + );
> myRegister(Constants.SOAP_MAP,
> java.util.Hashtable.class,
> new
> MapSerializerFactory(java.util.Hashtable.class,
> Constants.SOAP_MAP),
> - null, // Make sure not to override the
> deser mapping
> - false);
> + null // Make sure not to override the
> deser mapping
> + );
> myRegister(Constants.SOAP_MAP, java.util.Map.class,
> new MapSerializerFactory(java.util.Map.class,
> Constants.SOAP_MAP),
> - null, // Make sure not to override the
> deser mapping
> - false);
> + null // Make sure not to override the
> deser mapping
> + );
>
> // Use the Element Serializeration for elements
> myRegister(Constants.SOAP_ELEMENT,
> org.w3c.dom.Element.class,
> new ElementSerializerFactory(),
> - new ElementDeserializerFactory(), false);
> + new ElementDeserializerFactory());
> myRegister(Constants.SOAP_VECTOR, java.util.Vector.class,
> new
> VectorSerializerFactory(java.util.Vector.class,
>
> Constants.SOAP_VECTOR),
> new
> VectorDeserializerFactory(java.util.Vector.class,
> -
> Constants.SOAP_VECTOR),
> - false);
> +
> Constants.SOAP_VECTOR)
> + );
>
> // Register all the supported MIME types
> // (note that MIME_PLAINTEXT was registered near the top)
> @@ -388,24 +364,24 @@
> Constants.MIME_IMAGE),
> new JAFDataHandlerDeserializerFactory(
> java.awt.Image.class,
> - Constants.MIME_IMAGE), false);
> + Constants.MIME_IMAGE));
> myRegister(Constants.MIME_MULTIPART,
> javax.mail.internet.MimeMultipart.class,
> new JAFDataHandlerSerializerFactory(
> javax.mail.internet.MimeMultipart.class,
> Constants.MIME_MULTIPART),
> new JAFDataHandlerDeserializerFactory(
> javax.mail.internet.MimeMultipart.class,
> - Constants.MIME_MULTIPART), false);
> + Constants.MIME_MULTIPART));
> myRegister(Constants.MIME_SOURCE,
> javax.xml.transform.Source.class,
> new JAFDataHandlerSerializerFactory(
> javax.xml.transform.Source.class,
> Constants.MIME_SOURCE),
> new JAFDataHandlerDeserializerFactory(
> javax.xml.transform.Source.class,
> - Constants.MIME_SOURCE), false);
> + Constants.MIME_SOURCE));
> myRegister(Constants.MIME_DATA_HANDLER,
> javax.activation.DataHandler.class,
> new JAFDataHandlerSerializerFactory(),
> - new JAFDataHandlerDeserializerFactory(), false);
> + new JAFDataHandlerDeserializerFactory());
> }
>
> // xsd:token
> @@ -413,120 +389,120 @@
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Token.class,
> Constants.XSD_TOKEN),
> new
> SimpleDeserializerFactory(org.apache.axis.types.Token.class,
> - Constants.XSD_TOKEN),
> - true);
> + Constants.XSD_TOKEN)
> + );
>
> // a xsd:normalizedString
> myRegister(Constants.XSD_NORMALIZEDSTRING,
> org.apache.axis.types.NormalizedString.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Normali
> zedString.class,
>
> Constants.XSD_NORMALIZEDSTRING),
> new
> SimpleDeserializerFactory(org.apache.axis.types.NormalizedStri
> ng.class,
> -
> Constants.XSD_NORMALIZEDSTRING),
> - true);
> +
> Constants.XSD_NORMALIZEDSTRING)
> + );
>
> // a xsd:unsignedLong
> myRegister(Constants.XSD_UNSIGNEDLONG,
> org.apache.axis.types.UnsignedLong.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Unsigne
> dLong.class,
>
> Constants.XSD_UNSIGNEDLONG),
> new
> SimpleDeserializerFactory(org.apache.axis.types.UnsignedLong.class,
> -
> Constants.XSD_UNSIGNEDLONG),
> - true);
> +
> Constants.XSD_UNSIGNEDLONG)
> + );
>
> // a xsd:unsignedInt
> myRegister(Constants.XSD_UNSIGNEDINT,
> org.apache.axis.types.UnsignedInt.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Unsigne
> dInt.class,
>
> Constants.XSD_UNSIGNEDINT),
> new
> SimpleDeserializerFactory(org.apache.axis.types.UnsignedInt.class,
> -
> Constants.XSD_UNSIGNEDINT),
> - true);
> + Constants.XSD_UNSIGNEDINT)
> + );
>
> // a xsd:unsignedShort
> myRegister(Constants.XSD_UNSIGNEDSHORT,
> org.apache.axis.types.UnsignedShort.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Unsigne
> dShort.class,
>
> Constants.XSD_UNSIGNEDSHORT),
> new
> SimpleDeserializerFactory(org.apache.axis.types.UnsignedShort.class,
> -
> Constants.XSD_UNSIGNEDSHORT),
> - true);
> +
> Constants.XSD_UNSIGNEDSHORT)
> + );
>
> // a xsd:unsignedByte
> myRegister(Constants.XSD_UNSIGNEDBYTE,
> org.apache.axis.types.UnsignedByte.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Unsigne
> dByte.class,
>
> Constants.XSD_UNSIGNEDBYTE),
> new
> SimpleDeserializerFactory(org.apache.axis.types.UnsignedByte.class,
> -
> Constants.XSD_UNSIGNEDBYTE),
> - true);
> +
> Constants.XSD_UNSIGNEDBYTE)
> + );
>
> // a xsd:nonNegativeInteger
> myRegister(Constants.XSD_NONNEGATIVEINTEGER,
> org.apache.axis.types.NonNegativeInteger.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.NonNega
> tiveInteger.class,
>
> Constants.XSD_NONNEGATIVEINTEGER),
> new
> SimpleDeserializerFactory(org.apache.axis.types.NonNegativeInt
> eger.class,
> -
> Constants.XSD_NONNEGATIVEINTEGER),
> - true);
> +
> Constants.XSD_NONNEGATIVEINTEGER)
> + );
>
> // a xsd:negativeInteger
> myRegister(Constants.XSD_NEGATIVEINTEGER,
> org.apache.axis.types.NegativeInteger.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Negativ
> eInteger.class,
>
> Constants.XSD_NEGATIVEINTEGER),
> new
> SimpleDeserializerFactory(org.apache.axis.types.NegativeInteger.class,
> -
> Constants.XSD_NEGATIVEINTEGER),
> - true);
> +
> Constants.XSD_NEGATIVEINTEGER)
> + );
>
> // a xsd:positiveInteger
> myRegister(Constants.XSD_POSITIVEINTEGER,
> org.apache.axis.types.PositiveInteger.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Positiv
> eInteger.class,
>
> Constants.XSD_POSITIVEINTEGER),
> new
> SimpleDeserializerFactory(org.apache.axis.types.PositiveInteger.class,
> -
> Constants.XSD_POSITIVEINTEGER),
> - true);
> +
> Constants.XSD_POSITIVEINTEGER)
> + );
>
> // a xsd:nonPositiveInteger
> myRegister(Constants.XSD_NONPOSITIVEINTEGER,
> org.apache.axis.types.NonPositiveInteger.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.NonPosi
> tiveInteger.class,
>
> Constants.XSD_NONPOSITIVEINTEGER),
> new
> SimpleDeserializerFactory(org.apache.axis.types.NonPositiveInt
> eger.class,
> -
> Constants.XSD_NONPOSITIVEINTEGER),
> - true);
> +
> Constants.XSD_NONPOSITIVEINTEGER)
> + );
>
> // a xsd:Name
> myRegister(Constants.XSD_NAME,
> org.apache.axis.types.Name.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Name.class,
> Constants.XSD_NAME),
> new
> SimpleDeserializerFactory(org.apache.axis.types.Name.class,
> - Constants.XSD_NAME),
> - true);
> + Constants.XSD_NAME)
> + );
>
> // a xsd:NCName
> myRegister(Constants.XSD_NCNAME,
> org.apache.axis.types.NCName.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.NCName.class,
> Constants.XSD_NCNAME),
> new
> SimpleDeserializerFactory(org.apache.axis.types.NCName.class,
> - Constants.XSD_NCNAME),
> - true);
> + Constants.XSD_NCNAME)
> + );
>
> // a xsd:NmToken
> myRegister(Constants.XSD_NMTOKEN,
> org.apache.axis.types.NMToken.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.NMToken.class,
> Constants.XSD_NMTOKEN),
> new
> SimpleDeserializerFactory(org.apache.axis.types.NMToken.class,
> - Constants.XSD_NMTOKEN),
> - true);
> + Constants.XSD_NMTOKEN)
> + );
>
> // a xsd:Duration
> myRegister(Constants.XSD_DURATION,
> org.apache.axis.types.Duration.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.Duration.class,
>
> Constants.XSD_DURATION),
> new
> SimpleDeserializerFactory(org.apache.axis.types.Duration.class,
> - Constants.XSD_DURATION),
> - true);
> + Constants.XSD_DURATION)
> + );
>
> // a xsd:anyURI
> myRegister(Constants.XSD_ANYURI,
> org.apache.axis.types.URI.class,
> new
> SimplePrimitiveSerializerFactory(org.apache.axis.types.URI.class,
> Constants.XSD_ANYURI),
> new
> SimpleDeserializerFactory(org.apache.axis.types.URI.class,
> - Constants.XSD_ANYURI),
> - true);
> + Constants.XSD_ANYURI)
> + );
>
> // All array objects automatically get associated with the
> SOAP_ARRAY.
> // There is no way to do this with a hash table,
> @@ -537,16 +513,16 @@
> // as a SOAP_ARRAY
> myRegister(Constants.SOAP_ARRAY,
> java.util.Collection.class,
> new ArraySerializerFactory(),
> - new ArrayDeserializerFactory(),
> - false);
> + new ArrayDeserializerFactory()
> + );
> // myRegister(Constants.SOAP_ARRAY,
> java.util.ArrayList.class,
> // new ArraySerializerFactory(),
> // new ArrayDeserializerFactory(),
> // false);
> myRegister(Constants.SOAP_ARRAY, Object[].class,
> new ArraySerializerFactory(),
> - new ArrayDeserializerFactory(),
> - false);
> + new ArrayDeserializerFactory()
> + );
>
> //
> // Now register the schema specific types
> @@ -558,22 +534,28 @@
> }
>
> /**
> - * Construct TypeMapping for all the [xmlType, javaType]
> for all of the
> - * known xmlType namespaces. This is the shotgun
> approach, which works
> - * in 99% of the cases. The other cases that are Schema version
> specific
> - * (i.e. timeInstant vs. dateTime) are handled by the
> SchemaVersion
> - * Interface registerSchemaSpecificTypes().
> - *
> - * @param xmlType is the QName type
> - * @param javaType is the java type
> - * @param sf is the ser factory (if null, the simple
> factory is used)
> - * @param df is the deser factory (if null, the simple
> factory is used)
> - * @param primitive indicates whether serializers can be shared
> - */
> - protected void myRegister(QName xmlType, Class javaType,
> - SerializerFactory sf,
> DeserializerFactory df,
> - boolean primitive) {
> - myRegister(xmlType, javaType, sf, df, primitive, false);
> + * Register a "simple" type mapping - in other words, a
> + * @param xmlType
> + * @param javaType
> + * @param primitive
> + */
> + protected void myRegisterSimple(QName xmlType,
> + Class javaType,
> + boolean primitive) {
> + SerializerFactory sf;
> + DeserializerFactory df = null;
> + if (primitive) {
> + sf = new SimplePrimitiveSerializerFactory(javaType,
> + xmlType);
> + } else {
> + sf = new SimpleNonPrimitiveSerializerFactory(javaType,
> + xmlType);
> + }
> + if (javaType != java.lang.Object.class) {
> + df = new SimpleDeserializerFactory(javaType, xmlType);
> + }
> +
> + myRegister(xmlType, javaType, sf, df);
> }
>
> /**
> @@ -587,32 +569,9 @@
> * @param javaType is the java type
> * @param sf is the ser factory (if null, the simple
> factory is used)
> * @param df is the deser factory (if null, the simple
> factory is
> used)
> - * @param primitive indicates whether serializers can be shared
> - * @param onlyDeserFactory indicates if only deserialization is
> desired.
> */
> protected void myRegister(QName xmlType, Class javaType,
> - SerializerFactory sf,
> DeserializerFactory df,
> - boolean primitive, boolean
> onlyDeserFactory) {
> -
> - // If factories are not specified, use the Simple ser/deser
> factories.
> - if (sf == null && df == null) {
> - if (!onlyDeserFactory) {
> - if (primitive) {
> - sf = new
> SimplePrimitiveSerializerFactory(javaType,
> -
> xmlType);
> - } else {
> - sf = new
> SimpleNonPrimitiveSerializerFactory(javaType,
> -
> xmlType);
> - }
> - }
> - if (javaType != java.lang.Object.class) {
> - df = new SimpleDeserializerFactory(javaType,
> xmlType);
> - }
> - }
> - if (onlyDeserFactory) {
> - sf = null;
> - }
> -
> + SerializerFactory sf,
> DeserializerFactory
> df) {
> // Register all known flavors of the namespace.
> try {
> if (xmlType.getNamespaceURI().equals(
> Index: java/src/org/apache/axis/encoding/SerializationContextImpl.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/Serializa
> tionContextImpl.java,v
> retrieving revision 1.73
> retrieving revision 1.75
> diff -u -r1.73 -r1.75
> --- java/src/org/apache/axis/encoding/SerializationContextImpl.java
> 25 Sep 2002 03:21:08 -0000 1.73
> +++ java/src/org/apache/axis/encoding/SerializationContextImpl.java
> 25 Sep 2002 18:56:16 -0000 1.75
> @@ -65,6 +65,7 @@
> import org.apache.axis.soap.SOAPConstants;
> import org.apache.axis.wsdl.symbolTable.SymbolTable;
> import org.apache.axis.wsdl.symbolTable.SchemaUtils;
> +import org.apache.axis.encoding.ser.BaseSerializerFactory;
> import org.apache.axis.enum.Style;
> import org.apache.axis.handlers.soap.SOAPService;
> import org.apache.axis.attachments.Attachments;
> @@ -90,6 +91,7 @@
> import org.xml.sax.helpers.AttributesImpl;
>
> import javax.xml.namespace.QName;
> +import javax.xml.rpc.holders.QNameHolder;
> import javax.xml.rpc.JAXRPCException;
> import java.io.IOException;
> import java.io.Writer;
> @@ -845,7 +847,7 @@
> forceSer = mri.value;
>
> // Now serialize the value.
> - // The sendType parameter is set to true for interop
> purposes.
> + // The sendType parameter is defaulted for interop
> purposes.
> // Some of the remote services do not know how to
> // ascertain the type in these
> circumstances (though
> Axis does).
> serialize(multirefQName, attrs, mri.value,
> @@ -1199,17 +1201,27 @@
> }
>
> // Try getting a serializer for the prefered xmlType
> - Serializer ser = getSerializer(javaType, xmlType);
> + QNameHolder actualXMLType = new QNameHolder();
> + Serializer ser = getSerializer(javaType, xmlType,
> + actualXMLType);
>
> if ( ser != null ) {
> - // Send the xmlType if indicated.
> - QName actualType =
> ((TypeMappingImpl)tm).getXMLType(javaType,
> -
> xmlType);
> -
> - if (shouldSendType || (xmlType != null &&
> -
> (!actualType.equals(xmlType))))
> - attributes =
> setTypeAttribute(attributes, actualType);
> -
> + // Send the xmlType if indicated or if
> + // the actual xmlType is different than the
> + // prefered xmlType
> + if (shouldSendType ||
> + (xmlType != null &&
> + (!xmlType.equals(actualXMLType.value)))) {
> + attributes = setTypeAttribute(attributes,
> +
> actualXMLType.value);
> + }
> +
> + // -----------------
> + // NOTE: I have seen doc/lit tests that use
> + // the type name as the element name in
> multi-ref cases
> + // (for example <soapenc:Array ... >)
> + // In such cases the xsi:type is not passed along.
> + // -----------------
> // The multiref QName is our own fake name.
> // It may be beneficial to set the name to the
> // type name, but I didn't see any improvements
> @@ -1265,11 +1277,17 @@
> * Attempts to get a serializer for the indicated javaType and
> xmlType.
> * @param javaType is the type of the object
> * @param xmlType is the preferred qname type.
> + * @param actualXmlType is set to a QNameHolder or null.
> + * If a QNameHolder, the actual xmlType is
> returned.
> * @return found class/serializer or null
> **/
> - private Serializer getSerializer(Class javaType, QName xmlType) {
> + private Serializer getSerializer(Class javaType, QName xmlType,
> + QNameHolder actualXMLType) {
> SerializerFactory serFactory = null ;
> TypeMapping tm = getTypeMapping();
> + if (actualXMLType != null) {
> + actualXMLType.value = null;
> + }
>
> while (javaType != null) {
> serFactory = (SerializerFactory)
> tm.getSerializer(javaType, xmlType);
> @@ -1290,13 +1308,28 @@
> Serializer ser = null;
> if ( serFactory != null ) {
> ser = (Serializer)
> serFactory.getSerializerAs(Constants.AXIS_SAX);
> +
> + if (actualXMLType != null) {
> + // Get the actual qname xmlType from the factory.
> + // If not found via the factory, fall back to a less
> + // performant solution.
> + if (serFactory instanceof BaseSerializerFactory) {
> + actualXMLType.value =
> + ((BaseSerializerFactory)
> serFactory).getXMLType();
> + }
> + if (actualXMLType.value == null) {
> + actualXMLType.value =
> + ((TypeMappingImpl) tm).getXMLType(javaType,
> + xmlType);
> + }
> + }
> }
>
> return ser;
> }
>
> public String getValueAsString(Object value, QName
> xmlType) throws
> IOException {
> - Serializer ser = getSerializer(value.getClass(), xmlType);
> + Serializer ser = getSerializer(value.getClass(),
> xmlType, null);
> if (!(ser instanceof SimpleValueSerializer)) {
> throw new IOException(
> Messages.getMessage("needSimpleValueSer",
> Index: java/src/org/apache/axis/encoding/TypeMappingImpl.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/TypeMappi
> ngImpl.java,v
> retrieving revision 1.33
> retrieving revision 1.34
> diff -u -r1.33 -r1.34
> --- java/src/org/apache/axis/encoding/TypeMappingImpl.java
> 18 Sep
> 2002 16:10:38 -0000 1.33
> +++ java/src/org/apache/axis/encoding/TypeMappingImpl.java
> 25 Sep
> 2002 16:29:47 -0000 1.34
> @@ -253,13 +253,6 @@
> "badJavaType" :
> "badXmlType"));
> }
>
> - // At least a serializer or deserializer factory
> must be specified.
> - if (sf == null && dsf == null) {
> - throw new JAXRPCException(
> - Messages.getMessage(sf == null ?
> - "badSerFac" :
> "badDeserFac"));
> - }
> -
> //REMOVED_FOR_TCK
> //if (sf != null &&
> // !(sf instanceof
> javax.xml.rpc.encoding.SerializerFactory)) {
> @@ -278,8 +271,10 @@
> if ((sf != null) || (class2Pair.get(javaType) == null))
> class2Pair.put(javaType, pair);
>
> - pair2SF.put(pair, sf);
> - pair2DF.put(pair, dsf);
> + if (sf != null)
> + pair2SF.put(pair, sf);
> + if (dsf != null)
> + pair2DF.put(pair, dsf);
> }
>
> /**
> @@ -542,8 +537,8 @@
> public QName getTypeQName(Class javaType) {
> //log.debug("getTypeQName javaType =" + javaType);
> if (javaType == null)
> - return null;
> -
> + return null;
> +
> QName xmlType = null;
> Pair pair = (Pair) class2Pair.get(javaType);
> if (pair == null && delegate != null) {
> @@ -574,6 +569,9 @@
> * @return javaType class or type
> */
> public Class getClassForQName(QName xmlType) {
> + if (xmlType == null)
> + return null;
> +
> //log.debug("getClassForQName xmlType =" + xmlType);
> Class javaType = null;
> Pair pair = (Pair) qName2Pair.get(xmlType);
> Index:
> java/src/org/apache/axis/encoding/ser/BaseDeserializerFactory.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BaseD
> eserializerFactory.java,v
> retrieving revision 1.8
> retrieving revision 1.9
> diff -u -r1.8 -r1.9
> ---
> java/src/org/apache/axis/encoding/ser/BaseDeserializerFactory.java
> 17 Sep 2002 22:55:47 -0000 1.8
> +++
> java/src/org/apache/axis/encoding/ser/BaseDeserializerFactory.java
> 25 Sep 2002 19:26:31 -0000 1.9
> @@ -165,8 +165,11 @@
> */
> protected Deserializer getSpecialized(String mechanismType) {
> if (javaType != null && xmlType != null) {
> - if (getDeserializer == null) {
> - getDeserializer = getDeserializerMethod(javaType);
> + // Ensure that getDeserializerMethod is called only once.
> + synchronized (this) {
> + if (getDeserializer == null) {
> + getDeserializer =
> getDeserializerMethod(javaType);
> + }
> }
> if (getDeserializer != null) {
> try {
> Index:
> java/src/org/apache/axis/encoding/ser/BaseSerializerFactory.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BaseS
> erializerFactory.java,v
> retrieving revision 1.15
> retrieving revision 1.17
> diff -u -r1.15 -r1.17
> --- java/src/org/apache/axis/encoding/ser/BaseSerializerFactory.java
> 18 Sep 2002 16:10:35 -0000 1.15
> +++ java/src/org/apache/axis/encoding/ser/BaseSerializerFactory.java
> 25 Sep 2002 19:26:31 -0000 1.17
> @@ -190,8 +190,11 @@
> */
> protected Serializer getSpecialized(String mechanismType) {
> if (javaType != null && xmlType != null) {
> - if (getSerializer == null) {
> - getSerializer = getSerializerMethod(javaType);
> + // Ensure that getSerializerMethod is called only once.
> + synchronized (this) {
> + if (getSerializer == null) {
> + getSerializer = getSerializerMethod(javaType);
> + }
> }
> if (getSerializer != null) {
> try {
> @@ -250,7 +253,23 @@
> }
> return mechanisms.iterator();
> }
> +
> + /**
> + * get xmlType
> + * @return xmlType QName for this factory
> + */
> + public QName getXMLType() {
> + return xmlType;
> + }
>
> + /**
> + * get javaType
> + * @return javaType Class for this factory
> + */
> + public Class getJavaType() {
> + return javaType;
> + }
> +
> /**
> * Utility method that intospects on a factory class to
> decide how to
> * create the factory. Tries in the following order:
> Index: java/src/org/apache/axis/i18n/resource.properties
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/i18n/resource.properties,v
> retrieving revision 1.6
> retrieving revision 1.8
> diff -u -r1.6 -r1.8
> --- java/src/org/apache/axis/i18n/resource.properties 24 Sep 2002
> 20:45:20 -0000 1.6
> +++ java/src/org/apache/axis/i18n/resource.properties 25 Sep 2002
> 16:54:24 -0000 1.8
> @@ -1029,3 +1029,5 @@
> badMsgMethodParams=Method ''{0}'' does not match any of the valid
> signatures for message-style service methods
>
> unmatchedOp=Binding operation has no corresponding portType
> operation:
> name = {0}, input name = {1}, output name = {2}
> +noOperationForQName=Couldn't find an appropriate operation for XML
> QName {0}
> +noParmDesc=operation description is missing parameter description!
> Index: java/src/org/apache/axis/message/MessageElement.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/message/MessageEle
> ment.java,v
> retrieving revision 1.128
> retrieving revision 1.129
> diff -u -r1.128 -r1.129
> --- java/src/org/apache/axis/message/MessageElement.java
> 18 Sep
> 2002 16:10:28 -0000 1.128
> +++ java/src/org/apache/axis/message/MessageElement.java
> 25 Sep
> 2002 16:54:24 -0000 1.129
> @@ -312,6 +312,12 @@
>
> public String getName() { return( name ); }
> public void setName(String name) { this.name = name; }
> +
> + public QName getQName() { return new QName(namespaceURI, name); }
> + public void setQName(QName qName) {
> + this.name = qName.getLocalPart();
> + this.namespaceURI = qName.getNamespaceURI();
> + }
>
> public String getPrefix() { return( prefix ); }
> public void setPrefix(String prefix) { this.prefix = prefix; }
> Index: java/src/org/apache/axis/message/RPCHandler.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/message/RPCHandler.java,v
> retrieving revision 1.64
> retrieving revision 1.65
> diff -u -r1.64 -r1.65
> --- java/src/org/apache/axis/message/RPCHandler.java 18 Sep 2002
> 16:10:28 -0000 1.64
> +++ java/src/org/apache/axis/message/RPCHandler.java 25 Sep 2002
> 16:35:33 -0000 1.65
> @@ -213,12 +213,17 @@
> // by position if we've already looked
> something up
> // by name? I think so...
> if (paramDesc == null) {
> - paramDesc =
> operation.getParameter(params.size() - 1);
> + if (isResponse) {
> + paramDesc = operation.getReturnParamDesc();
> + }
> + else {
> + paramDesc =
> operation.getParameter(params.size() - 1);
> + }
> }
>
>
> if (paramDesc == null) {
> - throw new SAXException("operation description is
> missing parameter description!");
> + throw new
> SAXException(Messages.getMessage("noParmDesc"));
> }
> destClass = paramDesc.getJavaType();
>
> Index: java/src/org/apache/axis/providers/java/MsgProvider.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/providers/java/Msg
> Provider.java,v
> retrieving revision 1.33
> retrieving revision 1.34
> diff -u -r1.33 -r1.34
> --- java/src/org/apache/axis/providers/java/MsgProvider.java
> 24 Sep
> 2002 21:02:23 -0000 1.33
> +++ java/src/org/apache/axis/providers/java/MsgProvider.java
> 25 Sep
> 2002 16:54:24 -0000 1.34
> @@ -104,6 +104,12 @@
> throws Exception
> {
> OperationDesc operation = msgContext.getOperation();
> + if (operation == null) {
> + throw new
> AxisFault(Messages.getMessage("noOperationForQName",
> +
> reqEnv.getFirstBody().
> +
> getQName().toString()));
> + }
> +
> Method method = operation.getMethod();
>
> int methodType = operation.getMessageOperationStyle();
> Index: java/src/org/apache/axis/transport/http/AxisServlet.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/transport/http/Axi
> sServlet.java,v
> retrieving revision 1.143
> retrieving revision 1.144
> diff -u -r1.143 -r1.144
> --- java/src/org/apache/axis/transport/http/AxisServlet.java
> 18 Sep
> 2002 16:10:30 -0000 1.143
> +++ java/src/org/apache/axis/transport/http/AxisServlet.java
> 25 Sep
> 2002 18:21:28 -0000 1.144
> @@ -619,6 +619,7 @@
> }
>
> Message responseMsg = null;
> + String contentType = null;
>
> try {
> AxisEngine engine = getEngine();
> @@ -694,6 +695,7 @@
> }
>
> responseMsg = msgContext.getResponseMessage();
> + contentType =
> responseMsg.getContentType(msgContext.getSOAPConstants());
> } catch (AxisFault e) {
> log.error(Messages.getMessage("exception00"), e);
> // It's been suggested that a lack of SOAPAction
> @@ -704,14 +706,17 @@
> // TODO: less generic realm choice?
> res.setStatus(status);
> responseMsg = new Message(e);
> + contentType =
> responseMsg.getContentType(msgContext.getSOAPConstants());
> } catch (Exception e) {
> log.error(Messages.getMessage("exception00"), e);
>
> res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
> responseMsg = new Message(AxisFault.makeFault(e));
> + contentType =
> responseMsg.getContentType(msgContext.getSOAPConstants());
> }
> } catch (AxisFault fault) {
> log.error(Messages.getMessage("axisFault00"), fault);
> responseMsg = new Message(fault);
> + contentType =
> responseMsg.getContentType(msgContext.getSOAPConstants());
> }
> if( tlog.isDebugEnabled() ) {
> t3=System.currentTimeMillis();
> @@ -720,7 +725,7 @@
> /* Send response back along the wire... */
> /***********************************/
> if (responseMsg != null)
> - sendResponse(getProtocolVersion(req),
> msgContext.getSOAPConstants(),
> + sendResponse(getProtocolVersion(req), contentType,
> res, responseMsg);
>
> if (isDebug) {
> @@ -767,7 +772,7 @@
> * @throws IOException if the response stream can not
> be written to
> */
> private void sendResponse(final String clientVersion,
> - SOAPConstants soapConstants,
> + String contentType,
> HttpServletResponse res, Message responseMsg)
> throws AxisFault, IOException
> {
> @@ -780,13 +785,13 @@
> } else {
> if(isDebug) {
> log.debug("Returned Content-Type:" +
> - responseMsg.getContentType(soapConstants));
> + contentType);
> // log.debug("Returned Content-Length:" +
> // responseMsg.getContentLength());
> }
>
> try {
> -
> res.setContentType(responseMsg.getContentType(soapConstants));
> + res.setContentType(contentType);
>
> /* My understand of Content-Length
> * HTTP 1.0
> Index: java/src/org/apache/axis/wsdl/fromJava/Types.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/fromJava/Types.java,v
> retrieving revision 1.58
> retrieving revision 1.59
> diff -u -r1.58 -r1.59
> --- java/src/org/apache/axis/wsdl/fromJava/Types.java 19 Sep 2002
> 20:45:54 -0000 1.58
> +++ java/src/org/apache/axis/wsdl/fromJava/Types.java 25 Sep 2002
> 18:56:16 -0000 1.59
> @@ -953,7 +953,7 @@
> javaType.isPrimitive()) {
> if (issueErrors &&
> !beanCompatErrs.contains(javaType)) {
> - log.error(Messages.getMessage("beanCompatType00",
> + log.warn(Messages.getMessage("beanCompatType00",
> javaType.getName()));
> beanCompatErrs.add(javaType);
> }
> @@ -966,7 +966,7 @@
> javaType.getName().startsWith("javax.")) {
> if (issueErrors &&
> !beanCompatErrs.contains(javaType)) {
> - log.error(Messages.getMessage("beanCompatPkg00",
> + log.warn(Messages.getMessage("beanCompatPkg00",
> javaType.getName()));
> beanCompatErrs.add(javaType);
> }
> @@ -986,7 +986,7 @@
> } catch (java.lang.NoSuchMethodException e) {
> if (issueErrors &&
> !beanCompatErrs.contains(javaType)) {
> -
> log.error(Messages.getMessage("beanCompatConstructor00",
> +
> log.warn(Messages.getMessage("beanCompatConstructor00",
>
> javaType.getName()));
> beanCompatErrs.add(javaType);
> }
> @@ -1009,7 +1009,7 @@
>
> if (issueErrors &&
> !beanCompatErrs.contains(javaType)) {
> -
> log.error(Messages.getMessage("beanCompatExtends00",
> +
> log.warn(Messages.getMessage("beanCompatExtends00",
>
> javaType.getName(),
>
> superClass.getName(),
>
> javaType.getName()));
> Index: java/test/wsdl/oneway/build.xml
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/test/wsdl/oneway/build.xml,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -u -r1.1 -r1.2
> --- java/test/wsdl/oneway/build.xml 16 Sep 2002 15:55:56
> -0000 1.1
> +++ java/test/wsdl/oneway/build.xml 25 Sep 2002 16:45:24
> -0000 1.2
> @@ -51,7 +51,7 @@
> <target name="copy" depends="setenv"/>
>
> <target name="compile" depends="copy">
> - <echo message="Compilibg test.wsdl.oneway"/>
> + <echo message="Compiling test.wsdl.oneway"/>
> <!-- Oneway Test -->
> <!-- Generate Java From WSDL -->
> <wsdl2java url="${axis.home}/test/wsdl/oneway/oneway.wsdl"
> Index: java/test/wsdl/sequence/build.xml
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/test/wsdl/sequence/build.xml,v
> retrieving revision 1.7
> retrieving revision 1.8
> diff -u -r1.7 -r1.8
> --- java/test/wsdl/sequence/build.xml 10 Sep 2002 16:06:55
> -0000 1.7
> +++ java/test/wsdl/sequence/build.xml 25 Sep 2002 16:45:24
> -0000 1.8
> @@ -51,7 +51,7 @@
> <target name="copy" depends="setenv"/>
>
> <target name="compile" depends="copy">
> - <echo message="Compilibg test.wsdl.sequence"/>
> + <echo message="Compiling test.wsdl.sequence"/>
> <!-- Sequence Test -->
> <!-- Generate Java From WSDL -->
> <wsdl2java
> url="${axis.home}/test/wsdl/sequence/SequenceTest.wsdl"
>