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 Tom Jordahl <to...@macromedia.com> on 2005/01/10 20:06:49 UTC

RE: cvs commit: ws-axis/java/src/org/apache/axis/wsdl/fromJava Ty pes.java

Hey Glen,


+    /** Compliance with WS-I Basic Profile. */
+    public static final String PROP_BP10_COMPLIANCE =
"ws-i.bp10Compliance";

You added this property but you don't use it, you use the jaxrpc flag.

You also added the function "getUniqueOperationName" to JavaServiceDesc.

What is that for?


--
Tom Jordahl
Macromedia Server Development

> -----Original Message-----
> From: gdaniels@apache.org [mailto:gdaniels@apache.org]
> Sent: Monday, January 10, 2005 2:03 PM
> To: ws-axis-cvs@apache.org
> Subject: cvs commit: ws-axis/java/src/org/apache/axis/wsdl/fromJava
> Types.java
> 
> gdaniels    2005/01/10 11:02:31
> 
>   Modified:    java/src/org/apache/axis AxisEngine.java
>                java/src/org/apache/axis/description JavaServiceDesc.java
>                java/src/org/apache/axis/encoding
>                         DefaultTypeMappingImpl.java
>                java/src/org/apache/axis/wsdl/fromJava Types.java
>   Log:
>   * Move jaxrpc 1.1 compatibility mode switch to a publically-accessible
> static variable on AxisEngine.   Might eventually want to move this to
> AxisProperties.
> 
>   * When generating type names for arrays, use "MyArrayOf" instead of
> "ArrayOf" when in JAXRPC mode to avoid stupid WS-I rule
> 
>   Revision  Changes    Path
>   1.117     +15 -0     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.116
>   retrieving revision 1.117
>   diff -u -r1.116 -r1.117
>   --- AxisEngine.java	17 Dec 2004 17:00:46 -0000	1.116
>   +++ AxisEngine.java	10 Jan 2005 19:02:30 -0000	1.117
>   @@ -80,6 +80,8 @@
>         * types for a (soap encoded!) array.
>         */
>        public static final String PROP_DOTNET_SOAPENC_FIX =
> "dotNetSoapEncFix";
>   +    /** Compliance with WS-I Basic Profile. */
>   +    public static final String PROP_BP10_COMPLIANCE = "ws-
> i.bp10Compliance";
> 
>        public static final String
> DEFAULT_ATTACHMENT_IMPL="org.apache.axis.attachments.AttachmentsImpl";
> 
>   @@ -117,6 +119,19 @@
>         * What actor URIs hold for the entire engine? Find them here.
>         */
>        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.
> 
> 
> 
>   1.18      +10 -0     ws-
> axis/java/src/org/apache/axis/description/JavaServiceDesc.java
> 
>   Index: JavaServiceDesc.java
>   ===================================================================
>   RCS file: /home/cvs/ws-
> axis/java/src/org/apache/axis/description/JavaServiceDesc.java,v
>   retrieving revision 1.17
>   retrieving revision 1.18
>   diff -u -r1.17 -r1.18
>   --- JavaServiceDesc.java	5 Jan 2005 06:15:13 -0000	1.17
>   +++ JavaServiceDesc.java	10 Jan 2005 19:02:30 -0000	1.18
>   @@ -1105,6 +1105,16 @@
>            completedNames.add(methodName);
>        }
> 
>   +    private String getUniqueOperationName(String name) {
>   +        int i = 1;
>   +        String candidate;
>   +        do {
>   +            candidate = name + i++;
>   +        } while (name2OperationsMap.get(candidate) != null);
>   +
>   +        return candidate;
>   +    }
>   +
>        /**
>         * Look for methods matching this name, and for each one, create an
>         * OperationDesc (if it's not already in our list).
> 
> 
> 
>   1.84      +3 -13     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.83
>   retrieving revision 1.84
>   diff -u -r1.83 -r1.84
>   --- DefaultTypeMappingImpl.java	14 Dec 2004 20:22:27 -0000	1.83
>   +++ DefaultTypeMappingImpl.java	10 Jan 2005 19:02:30 -0000	1.84
>   @@ -17,6 +17,7 @@
>    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;
>   @@ -75,18 +76,6 @@
>    public class DefaultTypeMappingImpl extends TypeMappingImpl {
> 
>        private static DefaultTypeMappingImpl tm = null;
>   -    private 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) {
>   -        }
>   -    }
> 
>        /**
>         * Obtain the singleton default typemapping.
>   @@ -563,7 +552,7 @@
>                                                 Constants.XSD_SCHEMA)
>            );
> 
>   -        if (jaxrpc11Compliance) {
>   +        if (AxisEngine.jaxrpc11Compliance) {
>                // Table 4-1 of the JAXRPC 1.1 spec
>                myRegisterSimple(Constants.XSD_UNSIGNEDINT, long.class);
>                myRegisterSimple(Constants.XSD_UNSIGNEDSHORT, int.class);
>   @@ -608,6 +597,7 @@
>                myRegisterSimple(Constants.XSD_ID, java.lang.String.class);
>                myRegisterSimple(Constants.XSD_NMTOKEN,
> java.lang.String.class);
>                myRegisterSimple(Constants.XSD_NMTOKENS,
> java.lang.String.class);
>   +            myRegisterSimple(Constants.XSD_STRING,
> java.lang.String.class);
>                myRegisterSimple(Constants.XSD_NONPOSITIVEINTEGER,
> java.math.BigInteger.class);
>                myRegisterSimple(Constants.XSD_NEGATIVEINTEGER,
> java.math.BigInteger.class);
>                myRegisterSimple(Constants.XSD_NONNEGATIVEINTEGER,
> java.math.BigInteger.class);
> 
> 
> 
>   1.106     +6 -6      ws-
> axis/java/src/org/apache/axis/wsdl/fromJava/Types.java
> 
>   Index: Types.java
>   ===================================================================
>   RCS file: /home/cvs/ws-
> axis/java/src/org/apache/axis/wsdl/fromJava/Types.java,v
>   retrieving revision 1.105
>   retrieving revision 1.106
>   diff -u -r1.105 -r1.106
>   --- Types.java	16 Dec 2004 18:54:58 -0000	1.105
>   +++ Types.java	10 Jan 2005 19:02:30 -0000	1.106
>   @@ -15,10 +15,7 @@
>     */
>    package org.apache.axis.wsdl.fromJava;
> 
>   -import org.apache.axis.AxisFault;
>   -import org.apache.axis.Constants;
>   -import org.apache.axis.InternalException;
>   -import org.apache.axis.MessageContext;
>   +import org.apache.axis.*;
>    import org.apache.axis.soap.SOAPConstants;
>    import org.apache.axis.components.logger.LogFactory;
>    import org.apache.axis.description.ServiceDesc;
>   @@ -119,6 +116,9 @@
>        /** Which types have we already written? */
>        Class [] mappedTypes = null;
> 
>   +    /** For WS-I BP compliance, we can't use "ArrayOf" as a type prefix
> - instead use "MyArrayOf" (gag) */
>   +    private String arrayTypePrefix = AxisEngine.jaxrpc11Compliance ?
> "MyArrayOf" : "ArrayOf";
>   +
>        public static boolean isArray(Class clazz)
>        {
>            return clazz.isArray() ||
> java.util.Collection.class.isAssignableFrom(clazz);
>   @@ -727,13 +727,13 @@
> 
>                if (targetNamespace.equals(cqName.getNamespaceURI())) {
>                    qName = new QName(targetNamespace,
>   -                        "ArrayOf" + cqName.getLocalPart());
>   +                        arrayTypePrefix + cqName.getLocalPart());
>                } else {
>                    String pre =
> 
> namespaces.getCreatePrefix(cqName.getNamespaceURI());
> 
>                    qName = new QName(targetNamespace,
>   -                        "ArrayOf_" + pre + "_"
>   +                        arrayTypePrefix + "_" + pre + "_"
>                            + cqName.getLocalPart());
>                }
> 
> 
> 
>