Hi,

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()) {


Reply via email to