sorry to bug you guys again but my commit rights have not yet been fully set up in cvs and I need to commit a few minor patches to Axis before we can release our toolkit. So if a committer could push these in for me I'd be very, very greatful.
Here's the commit log:
Emitter
----------
-fixed lookup of NStoPkg.properties to allow it to be picked up from the classpath (as stated in the javadocs comment)
AxisServlet
----------------
-fixed TRANS_URL property to be set both when doing http POST and GET (was only in GET before)
SerializationContextImpl
-----------------------------------
-Exceptions are no longer serialized automatically in the newest code base. This was a big backwards compatibility problem for us, and hence I put in a fix so that they can be serialized automatically even if no typemapping entry exists.
Thanks a million,
Thomas
Thomas Sandholm <[EMAIL PROTECTED]>
The Globus Project(tm) <http://www.globus.org>
Ph: 630-252-1682, Fax: 630-252-1997
Argonne National Laboratory
cvs server: Diffing . cvs server: Diffing javax cvs server: Diffing javax/xml cvs server: Diffing javax/xml/messaging cvs server: Diffing javax/xml/namespace cvs server: Diffing javax/xml/rpc cvs server: Diffing javax/xml/rpc/encoding cvs server: Diffing javax/xml/rpc/handler cvs server: Diffing javax/xml/rpc/handler/soap cvs server: Diffing javax/xml/rpc/holders cvs server: Diffing javax/xml/rpc/server cvs server: Diffing javax/xml/rpc/soap cvs server: Diffing javax/xml/soap cvs server: Diffing javax/xml/transform cvs server: Diffing javax/xml/transform/dom cvs server: Diffing javax/xml/transform/sax cvs server: Diffing javax/xml/transform/stream cvs server: Diffing org cvs server: Diffing org/apache cvs server: Diffing org/apache/axis cvs server: Diffing org/apache/axis/attachments cvs server: Diffing org/apache/axis/client cvs server: Diffing org/apache/axis/components cvs server: Diffing org/apache/axis/components/compiler cvs server: Diffing org/apache/axis/components/image cvs server: Diffing org/apache/axis/components/jms cvs server: Diffing org/apache/axis/components/logger cvs server: Diffing org/apache/axis/components/net cvs server: Diffing org/apache/axis/components/uuid cvs server: Diffing org/apache/axis/configuration cvs server: Diffing org/apache/axis/deployment cvs server: Diffing org/apache/axis/deployment/wsdd cvs server: Diffing org/apache/axis/deployment/wsdd/providers cvs server: Diffing org/apache/axis/description cvs server: Diffing org/apache/axis/encoding Index: org/apache/axis/encoding/SerializationContextImpl.java =================================================================== RCS file: /home/cvspublic/xml-axis/java/src/org/apache/axis/encoding/SerializationContextImpl.java,v retrieving revision 1.78 diff -u -r1.78 SerializationContextImpl.java --- org/apache/axis/encoding/SerializationContextImpl.java 9 Oct 2002 19:06:30 -0000 1.78 +++ org/apache/axis/encoding/SerializationContextImpl.java 31 Oct 2002 22:35:12 +-0000 @@ -103,6 +103,7 @@ import java.util.Iterator; import java.util.Stack; import java.util.HashMap; +import java.lang.reflect.Method; /** Manage a serialization, including keeping track of namespace mappings * and element stacks. @@ -131,6 +132,7 @@ private boolean pretty = false; private static QName multirefQName = new QName("","multiRef"); + private static Class[] getSerializerClasses = new Class[] { String.class, +Class.class, QName.class }; /** * Should I write out objects as multi-refs? @@ -1232,6 +1234,19 @@ ser.serialize(elemQName, attributes, value, this); return; } + + // if no serializer was configured try to find one dynamically using +WSDLJava + // generated metadata + try { + Method method = +value.getClass().getMethod("getSerializer",getSerializerClasses); + if (method != null) { + Serializer serializer = (Serializer) method.invoke(value, new +Object[] {"",value.getClass(), elemQName}); + serializer.serialize(elemQName, attributes, value, this); + return; + } + } catch (Exception e) { + } + throw new IOException(Messages.getMessage("noSerializer00", value.getClass().getName(), "" + tm)); cvs server: Diffing org/apache/axis/encoding/ser cvs server: Diffing org/apache/axis/encoding/ser/castor cvs server: Diffing org/apache/axis/enum cvs server: Diffing org/apache/axis/handlers cvs server: Diffing org/apache/axis/handlers/http cvs server: Diffing org/apache/axis/handlers/soap cvs server: Diffing org/apache/axis/holders cvs server: Diffing org/apache/axis/i18n cvs server: Diffing org/apache/axis/ime cvs server: Diffing org/apache/axis/ime/internal cvs server: Diffing org/apache/axis/ime/internal/util cvs server: Diffing org/apache/axis/ime/internal/util/handler cvs server: Diffing org/apache/axis/message cvs server: Diffing org/apache/axis/monitor cvs server: Diffing org/apache/axis/providers cvs server: Diffing org/apache/axis/providers/java cvs server: Diffing org/apache/axis/schema cvs server: Diffing org/apache/axis/security cvs server: Diffing org/apache/axis/security/servlet cvs server: Diffing org/apache/axis/security/simple cvs server: Diffing org/apache/axis/server cvs server: Diffing org/apache/axis/session cvs server: Diffing org/apache/axis/soap cvs server: Diffing org/apache/axis/strategies cvs server: Diffing org/apache/axis/transport cvs server: Diffing org/apache/axis/transport/http Index: org/apache/axis/transport/http/AxisServlet.java =================================================================== RCS file: /home/cvspublic/xml-axis/java/src/org/apache/axis/transport/http/AxisServlet.java,v retrieving revision 1.149 diff -u -r1.149 AxisServlet.java --- org/apache/axis/transport/http/AxisServlet.java 30 Oct 2002 19:44:28 -0000 1.149 +++ org/apache/axis/transport/http/AxisServlet.java 31 Oct 2002 22:35:13 -0000 @@ -696,6 +696,8 @@ /* Set the request(incoming) message field in the context */ /**********************************************************/ msgContext.setRequestMessage(requestMsg); + String url = HttpUtils.getRequestURL(req).toString(); + msgContext.setProperty(MessageContext.TRANS_URL, url); try { /** cvs server: Diffing org/apache/axis/transport/java cvs server: Diffing org/apache/axis/transport/jms cvs server: Diffing org/apache/axis/transport/local cvs server: Diffing org/apache/axis/types cvs server: Diffing org/apache/axis/utils cvs server: Diffing org/apache/axis/utils/bytecode cvs server: Diffing org/apache/axis/utils/cache cvs server: Diffing org/apache/axis/wsdl cvs server: Diffing org/apache/axis/wsdl/fromJava cvs server: Diffing org/apache/axis/wsdl/gen cvs server: Diffing org/apache/axis/wsdl/symbolTable cvs server: Diffing org/apache/axis/wsdl/toJava Index: org/apache/axis/wsdl/toJava/Emitter.java =================================================================== RCS file: /home/cvspublic/xml-axis/java/src/org/apache/axis/wsdl/toJava/Emitter.java,v retrieving revision 1.52 diff -u -r1.52 Emitter.java --- org/apache/axis/wsdl/toJava/Emitter.java 19 Oct 2002 15:42:29 -0000 1.52 +++ org/apache/axis/wsdl/toJava/Emitter.java 31 Oct 2002 22:35:13 -0000 @@ -441,7 +441,11 @@ mappings.load(new FileInputStream(NStoPkgFile)); } else { - mappings.load(new FileInputStream(NStoPkgFilename)); + try { + mappings.load(new FileInputStream(NStoPkgFilename)); + } catch (Throwable t) { + mappings.load(ClassUtils.getResourceAsStream(Emitter.class, +NStoPkgFilename)); + } } Enumeration keys = mappings.propertyNames(); while (keys.hasMoreElements()) {