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());
> }
>
>
>
>