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 ke...@apache.org on 2007/02/05 09:21:19 UTC

svn commit: r503585 [9/9] - in /webservices/axis2/trunk/java: etc/ modules/adb-codegen/ modules/adb-codegen/src/org/apache/axis2/schema/ modules/adb-codegen/src/org/apache/axis2/schema/template/ modules/adb/ modules/addressing/ modules/addressing/src/o...

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/SchemaUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/SchemaUtil.java?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/SchemaUtil.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/SchemaUtil.java Mon Feb  5 00:21:12 2007
@@ -17,10 +17,15 @@
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.axis2.description.AxisBindingOperation;
+import org.apache.axis2.description.WSDL2Constants;
 import org.apache.axis2.context.MessageContext;
 import org.apache.ws.commons.schema.XmlSchemaComplexType;
 import org.apache.ws.commons.schema.XmlSchemaElement;
@@ -31,16 +36,37 @@
 import org.apache.ws.commons.schema.XmlSchemaObjectCollection;
 import org.apache.ws.commons.schema.XmlSchemaImport;
 import org.apache.ws.commons.schema.XmlSchemaInclude;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.disk.DiskFileItem;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.apache.commons.fileupload.servlet.ServletRequestContext;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.fileupload.FileItemFactory;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpUtils;
 import javax.xml.namespace.QName;
+import javax.mail.internet.MimeMessage;
+import javax.mail.Session;
+import javax.mail.MessagingException;
+import javax.mail.Multipart;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.HashMap;
+import java.util.Enumeration;
+import java.util.List;
+import java.net.URLDecoder;
+import java.io.UnsupportedEncodingException;
+import java.io.IOException;
+
 /**
  * 
  */
 public class SchemaUtil {
+    private static final Log log = LogFactory.getLog(SchemaUtil.class);
+
 
     public static XmlSchema[] getAllSchemas(XmlSchema schema) {
         HashMap map = new HashMap();
@@ -73,11 +99,12 @@
     }
 
     /**
-     * This method is designed for REST handling. Parameter of a REST request comes in the URL or in
+     * This method is designed for REST handling. Parameters of a REST request comes in the URL or in
      * the body of the message (if it is POST). Since those parameters may not be in the proper order,
-     * we need to retrieve the schema of the operation and construct the message according to that
-     * from the parameters received as the REST request.
-     * This method will carry out that function and it is assumed that this method is called in that scenarios only.
+     * we need to retrieve the schema of the operation and construct the message according to the
+     * parameters received as the REST request.
+     * This method will carry out that function and it is assumed that this method is called in that
+     * scenarios only.
      *
      * @param msgCtxt
      * @param request
@@ -85,17 +112,25 @@
      * @param soapFactory
      * @throws AxisFault
      */
+
     public static SOAPEnvelope handleMediaTypeURLEncoded(MessageContext msgCtxt,
                                                          HttpServletRequest request,
                                                          XmlSchemaElement xmlSchemaElement,
                                                          SOAPFactory soapFactory) throws AxisFault {
 
-        Map requestParameterMap = request.getParameterMap();
         SOAPEnvelope soapEnvelope = soapFactory.getDefaultEnvelope();
         SOAPBody body = soapEnvelope.getBody();
+        String queryParameterSeparator = null;
+        AxisBindingOperation axisBindingOperation = (AxisBindingOperation)msgCtxt.getProperty(Constants.AXIS_BINDING_OPERATION);
+        if (axisBindingOperation != null) {
+            queryParameterSeparator = (String)axisBindingOperation.getProperty(WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR);
+        }
+        Map requestParameterMap = getParameterMap(request, queryParameterSeparator);
 
         if (xmlSchemaElement == null) {
-            // if there is no schema its piece of cake !! add these to the soap body in any order you like
+            // if there is no schema its piece of cake !! add these to the soap body in any order you like.
+            // Note : if there are parameters in the path of the URL, there is no way this can add them
+            // to the message.
             OMElement bodyFirstChild = soapFactory.createOMElement(msgCtxt.getAxisOperation().getName(), body);
 
             // first add the parameters in the URL
@@ -103,13 +138,16 @@
                 Iterator requestParamMapIter = requestParameterMap.keySet().iterator();
                 while (requestParamMapIter.hasNext()) {
                     String key = (String) requestParamMapIter.next();
-
                     String value = (String) ((Object[]) requestParameterMap.get(key))[0];
                     soapFactory.createOMElement(key, null, bodyFirstChild).setText(value);
+
                 }
             }
         } else {
 
+            // first get the target namespace from the schema and the wrapping element.
+            // create an OMElement out of those information. We are going to extract parameters from
+            // url, create OMElements and add them as children to this wrapping element.
             String targetNamespace = xmlSchemaElement.getQName().getNamespaceURI();
             QName bodyFirstChildQName;
             if (targetNamespace != null && !"".equals(targetNamespace)) {
@@ -119,43 +157,328 @@
             }
             OMElement bodyFirstChild = soapFactory.createOMElement(bodyFirstChildQName, body);
 
-            if (org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD_POST.equals(request.getMethod())
-                || (org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD_GET.equals(request.getMethod()))) {
-                XmlSchemaType schemaType = xmlSchemaElement.getSchemaType();
-                if (schemaType instanceof XmlSchemaComplexType) {
-                    XmlSchemaComplexType complexType = ((XmlSchemaComplexType) schemaType);
-                    XmlSchemaParticle particle = complexType.getParticle();
-                    if (particle instanceof XmlSchemaSequence) {
-                        XmlSchemaSequence xmlSchemaSequence = (XmlSchemaSequence) particle;
-                        Iterator iterator = xmlSchemaSequence.getItems().getIterator();
-
-                        Map parameterMap = request.getParameterMap();
-
-                        while (iterator.hasNext()) {
-                            XmlSchemaElement innerElement = (XmlSchemaElement) iterator.next();
-                            QName qName = innerElement.getQName();
-                            String name = qName != null ? qName.getLocalPart() : innerElement.getName();
-                            String[] parameterValuesArray = (String[]) parameterMap.get(name);
-                            if (parameterValuesArray != null &&
-                                !"".equals(parameterValuesArray[0]) && parameterValuesArray[0] != null)
-                            {
-                                OMNamespace ns = (qName == null || qName.getNamespaceURI() == null || qName.getNamespaceURI().length() == 0) ?
+                // Schema should adhere to the IRI style in this. So assume IRI style and dive in to
+                // schema
+            XmlSchemaType schemaType = xmlSchemaElement.getSchemaType();
+            if (schemaType instanceof XmlSchemaComplexType) {
+                XmlSchemaComplexType complexType = ((XmlSchemaComplexType) schemaType);
+                XmlSchemaParticle particle = complexType.getParticle();
+                if (particle instanceof XmlSchemaSequence) {
+                    XmlSchemaSequence xmlSchemaSequence = (XmlSchemaSequence) particle;
+                    Iterator iterator = xmlSchemaSequence.getItems().getIterator();
+
+                    // now we need to know some information from the binding operation.
+
+                    // Now we are going to extrac information from the binding operation. WSDL 2.0
+                    // http bindiing allows to define a query parameter separator. To capture it
+                    // create a variable wit the default as "&"
+
+                    MultipleEntryHashMap httpLocationParameterMap = new MultipleEntryHashMap();
+                    if (axisBindingOperation != null) {
+
+                        // get the http location property
+                        String httpLocation = (String) axisBindingOperation
+                                .getProperty(WSDL2Constants.ATTR_WHTTP_LOCATION);
+
+                        // parameter names can be different from the element name in the schema, due
+                        // to http location. Let's filter the parameter names from it.
+                        httpLocationParameterMap = createHttpLocationParameterMap(httpLocation,
+                                                                                  queryParameterSeparator,
+                                                                                  request,
+                                                                                  requestParameterMap);
+
+                    }
+
+                    while (iterator.hasNext()) {
+                        XmlSchemaElement innerElement = (XmlSchemaElement) iterator.next();
+                        QName qName = innerElement.getQName();
+                        long minOccurs = innerElement.getMinOccurs();
+                        boolean nillable = innerElement.isNillable();
+                        while (minOccurs != 0) {
+                            String name =
+                                    qName != null ? qName.getLocalPart() : innerElement.getName();
+
+                            // check whether this has a mapping in httpLocationParameterMap.
+                            String value = (String) httpLocationParameterMap.get(name);
+                            if (value == null) {
+                                String[] parameterValuesArray =
+                                        (String[]) requestParameterMap.get(name);
+                                if (parameterValuesArray != null &&
+                                        !"".equals(parameterValuesArray[0]) &&
+                                        parameterValuesArray[0] != null) {
+                                    value = parameterValuesArray[0];
+
+                                }
+                            }
+
+                            if (value == null) {
+
+                                if (nillable) {
+
+                                    OMNamespace xsi = soapFactory.createOMNamespace(
+                                            Constants.URI_DEFAULT_SCHEMA_XSI,
+                                            Constants.NS_PREFIX_SCHEMA_XSI);
+                                    OMAttribute omAttribute =
+                                            soapFactory.createOMAttribute("nil", xsi, "true");
+                                    OMNamespace ns = (qName == null ||
+                                            qName.getNamespaceURI() == null ||
+                                            qName.getNamespaceURI().length() == 0) ?
+                                            null :
+                                            soapFactory.createOMNamespace(qName.getNamespaceURI(),
+                                                                          null);
+                                    soapFactory.createOMElement(name, ns,
+                                                                bodyFirstChild)
+                                            .addAttribute(omAttribute);
+
+                                } else {
+                                    throw new AxisFault("Required element " + qName +
+                                            " defined in the schema can not be found in the request");
+                                }
+                            } else {
+
+                                OMNamespace ns = (qName == null ||
+                                        qName.getNamespaceURI() == null ||
+                                        qName.getNamespaceURI().length() == 0) ?
                                         null :
-                                        soapFactory.createOMNamespace(qName.getNamespaceURI(), null);
+                                        soapFactory
+                                                .createOMNamespace(qName.getNamespaceURI(), null);
                                 soapFactory.createOMElement(name, ns,
-                                                            bodyFirstChild).setText(parameterValuesArray[0]);
-                            } else {
-                                throw new AxisFault("Required element " + qName +
-                                                    " defined in the schema can not be found in the request");
+                                                            bodyFirstChild).setText(value);
                             }
+
+                            minOccurs--;
                         }
                     }
                 }
+            }
+        }
+        return soapEnvelope;
+    }
+
+    /**
+     * WSDL 2.0 HTTP binding introduces the concept of http location. User can provide some thing like
+     * ?first={FirstName}, where FirstName is what is defined in the schema. In this case, when you
+     * want to get the parameter value from the request parameter map, you have to ask for "first" and
+     * not "FirstName".
+     * <p/>
+     * This method will create a map from the schema name to the name visible in the query string.
+     * Eg: FirstName ==> first
+     *
+     * @param httpLocation
+     * @param queryParameterSeparator
+     */
+    protected static MultipleEntryHashMap createHttpLocationParameterMap(String httpLocation,
+                                                                         String queryParameterSeparator,
+                                                                         HttpServletRequest request,
+                                                                         Map parameterMap)
+            throws AxisFault {
+
+        MultipleEntryHashMap httpLocationParameterMap = new MultipleEntryHashMap();
+
+        if (httpLocation != null) {
+
+            // let's handle query parameters and the path separately
+            String[] urlParts = httpLocation.split("\\?");
+            String templatedPath = urlParts[0];
+
+            if (urlParts.length > 1) {
+                String templatedQueryParams = urlParts[1];
+                // first extract parameters from the query part
+                extractParametersFromQueryPart(templatedQueryParams, queryParameterSeparator,
+                                               httpLocationParameterMap, parameterMap);
+            }
+
+            // now let's do the difficult part, extract parameters from the path element.
+            extractParametersFromPath(templatedPath, httpLocationParameterMap,
+                                      request.getRequestURI());
+        }
+        return httpLocationParameterMap;
+    }
+
+    protected static void extractParametersFromQueryPart(String templatedQueryParams,
+                                                         String queryParameterSeparator,
+                                                         MultipleEntryHashMap httpLocationParameterMap,
+                                                         Map parameterMap) {
+        // now let's tokenize the string with query parameter separator
+        String[] nameValuePairs = templatedQueryParams.split(queryParameterSeparator);
+        for (int i = 0; i < nameValuePairs.length; i++) {
+            StringBuffer buffer = new StringBuffer(nameValuePairs[i]);
+            // this name value pair will be either name=value or
+            // name={SchemaElementName}. The first case is handled above
+            // let's handle the second case
+            if (buffer.indexOf("{") > 0 && buffer.indexOf("}") > 0) {
+                String parameterName = buffer.substring(0, buffer.indexOf("="));
+                String schemaElementName =
+                        buffer.substring(buffer.indexOf("=") + 2, buffer.length() - 1);
+                String parameterValues = (String) parameterMap.get(parameterName);
+                if (parameterValues != null) {
+                    httpLocationParameterMap.put(schemaElementName, parameterValues);
+                }
+            }
+
+        }
+    }
+
+    /**
+     * Here is what I will try to do here. I will first try to identify the location of the first
+     * template element in the request URI. I am trying to deduce the location of that location
+     * using the httpLocation element of the binding (it is passed in to this
+     * method).
+     * If there is a contant part in the httpLocation, then I will identify it. For this, I get
+     * the index of {, from httpLocation param, and whatever to the left of it is the contant part.
+     * Then I search for this constant part inside the url. This will give us the access to the first
+     * template parameter.
+     * To find the end of this parameter, we need to get the index of the next constant, from
+     * httpLocation attribute. Likewise we keep on discovering parameters.
+     * <p/>
+     * Assumptions :
+     * 1. User will always append the value of httpLocation to the address given in the
+     * endpoint.
+     * 2. I was talking about the constants in the httpLocation. Those constants will not occur,
+     * to a reasonable extend, before the constant we are looking for.
+     *
+     * @param templatedPath
+     * @param httpLocationParameterMap
+     */
+    protected static void extractParametersFromPath(String templatedPath,
+                                                    MultipleEntryHashMap httpLocationParameterMap,
+                                                    String requestURL) throws AxisFault {
+
+
+        if (templatedPath != null && !"".equals(templatedPath) && templatedPath.indexOf("{") > -1) {
+            StringBuffer pathTemplate = new StringBuffer(templatedPath);
+
+            // this will hold the index, from which we need to process the request URI
+            int startIndex = 0;
+            int templateStartIndex = 0;
+            int templateEndIndex = 0;
+            int indexOfNextConstant = 0;
+
+            StringBuffer requestURIBuffer = null;
+            try {
+                requestURIBuffer = new StringBuffer(URLDecoder.decode(requestURL, "UTF-8"));
+            } catch (UnsupportedEncodingException e) {
+                log.error("Could not decode the query String in the HttpServletRequest");
+                throw new AxisFault("Could not decode the query String in the HttpServletRequest");
+            }
+
+            while (startIndex < requestURIBuffer.length()) {
+                // this will always hold the starting index of a template parameter
+                templateStartIndex = pathTemplate.indexOf("{", templateStartIndex);
+
+                if (templateStartIndex > 0) {
+                    // get the preceding constant part from the template
+                    String constantPart =
+                            pathTemplate.substring(templateEndIndex + 1, templateStartIndex);
+
+                    // get the index of the end of this template param
+                    templateEndIndex = pathTemplate.indexOf("}", templateStartIndex);
+
+                    String parameterName =
+                            pathTemplate.substring(templateStartIndex + 1, templateEndIndex);
+                    // next try to find the next constant
+                    templateStartIndex = pathTemplate.indexOf("{", templateEndIndex);
+
+                    int endIndexOfConstant = requestURIBuffer
+                            .indexOf(constantPart, indexOfNextConstant) + constantPart.length();
+
+                    if (templateEndIndex == pathTemplate.length() - 1 || templateStartIndex == -1) {
+
+                        constantPart =
+                                pathTemplate.substring(templateEndIndex + 1, pathTemplate.length());
+                        indexOfNextConstant =
+                                requestURIBuffer.indexOf(constantPart, endIndexOfConstant);
+
+                        httpLocationParameterMap.put(parameterName, requestURIBuffer.substring(
+                                endIndexOfConstant, indexOfNextConstant));
+                        startIndex = requestURIBuffer.length();
+                    } else {
+
+                        // this is the next constant from the template
+                        constantPart =
+                                pathTemplate.substring(templateEndIndex + 1, templateStartIndex);
+
+                        indexOfNextConstant =
+                                requestURIBuffer.indexOf(constantPart, endIndexOfConstant);
+                        httpLocationParameterMap.put(parameterName, requestURIBuffer.substring(
+                                endIndexOfConstant, indexOfNextConstant));
+                        startIndex = indexOfNextConstant;
+
+                    }
+
+                }
+
+            }
+
+        }
+    }
+
+    private static Map getParameterMap(HttpServletRequest request, String queryParamSeparator)
+            throws AxisFault {
+
+        String encodedQueryString = request.getQueryString();
+        String queryString = null;
+        Map parameterMap = new HashMap();
+
+        if (encodedQueryString != null) {
+
+            try {
+                queryString = URLDecoder.decode(encodedQueryString, "UTF-8");
+            } catch (UnsupportedEncodingException e) {
+                log.error("Could not decode the query String in the HttpServletRequest");
+                throw new AxisFault("Could not decode the query String in the HttpServletRequest");
+            }
+
+            if (queryParamSeparator == null || queryParamSeparator.equals("&")) {
+                parameterMap = HttpUtils.parseQueryString(queryString);
             } else {
-                throw new AxisFault("According to WSDL 2.0 rules, we support complex types only");
+                String parts[] = queryString.split(queryParamSeparator);
+                for (int i = 0; i < parts.length; i++) {
+                    int separator = parts[i].indexOf("=");
+                    String[] value = new String[1];
+                    value[0] = parts[i].substring(separator + 1);
+                    parameterMap.put(parts[i].substring(0, separator), value);
+                }
             }
+        }
 
+        if (request.getContentType().indexOf(HTTPConstants.MEDIA_TYPE_MULTIPART_FORM_DATA) > -1) {
+            ServletRequestContext servletRequestContext = new ServletRequestContext(request);
+            try {
+                List items = parseRequest(servletRequestContext);
+                Iterator iter = items.iterator();
+                while (iter.hasNext()) {
+                    String[] value = new String[1];
+                    DiskFileItem diskFileItem = (DiskFileItem) iter.next();
+                    value[0] = diskFileItem.getString();
+                    parameterMap.put(diskFileItem.getFieldName(), value);
+                }
+            } catch (FileUploadException e) {
+                log.error("Unable to extract data from Multipart request");
+                throw new AxisFault("Unable to extract data from Multipart request");
+            }
+        } else {
+
+            Enumeration enumeration = request.getParameterNames();
+            while (enumeration.hasMoreElements()) {
+                String paramName = (String) enumeration.nextElement();
+                if (parameterMap.get(paramName) == null) {
+                    parameterMap.put(paramName, request.getParameterValues(paramName));
+                }
+            }
         }
-        return soapEnvelope;
+
+        return parameterMap;
+    }
+
+    private static List parseRequest(ServletRequestContext requestContext)
+            throws FileUploadException {
+        // Create a factory for disk-based file items
+        FileItemFactory factory = new DiskFileItemFactory();
+        // Create a new file upload handler
+        ServletFileUpload upload = new ServletFileUpload(factory);
+        // Parse the request
+        return upload.parseRequest(requestContext);
     }
+
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java Mon Feb  5 00:21:12 2007
@@ -66,7 +66,8 @@
      * @deprecated (post 1.1 branch)
      * @see org.apache.axis2.util.MessageContextBuilder.createOutMessageContext()
      */
-    public static MessageContext createOutMessageContext(MessageContext inMessageContext) throws AxisFault {
+    public static MessageContext createOutMessageContext(MessageContext inMessageContext)
+            throws AxisFault {
         return MessageContextBuilder.createOutMessageContext(inMessageContext);
     }
 
@@ -322,34 +323,41 @@
     public static int getAxisSpecifMEPConstant(String messageExchangePattern) {
 
 
-        int mepConstant = WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_INVALID;
+        int mepConstant = WSDLConstants.MEP_CONSTANT_INVALID;
 
-        if (WSDLConstants.WSDL20_2004Constants.MEP_URI_IN_OUT.equals(messageExchangePattern) || WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OUT.equals(messageExchangePattern)) {
-            mepConstant = WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_IN_OUT;
-        } else if (WSDLConstants.WSDL20_2004Constants.MEP_URI_IN_ONLY.equals(messageExchangePattern) || WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_ONLY.equals(messageExchangePattern)) {
-            mepConstant = WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_IN_ONLY;
-        } else if (WSDLConstants.WSDL20_2004Constants.MEP_URI_IN_OPTIONAL_OUT.equals(messageExchangePattern) || WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OPTIONAL_OUT.equals(messageExchangePattern)) {
-            mepConstant = WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_IN_OPTIONAL_OUT;
-        } else if (WSDLConstants.WSDL20_2004Constants.MEP_URI_OUT_IN.equals(messageExchangePattern) || WSDLConstants.WSDL20_2006Constants.MEP_URI_OUT_IN.equals(messageExchangePattern)) {
-            mepConstant = WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_OUT_IN;
-        } else if (WSDLConstants.WSDL20_2004Constants.MEP_URI_OUT_ONLY.equals(messageExchangePattern) || WSDLConstants.WSDL20_2006Constants.MEP_URI_OUT_ONLY.equals(messageExchangePattern)) {
-            mepConstant = WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_OUT_ONLY;
-        } else if (WSDLConstants.WSDL20_2004Constants.MEP_URI_OUT_OPTIONAL_IN.equals(messageExchangePattern) || WSDLConstants.WSDL20_2006Constants.MEP_URI_OUT_OPTIONAL_IN.equals(messageExchangePattern)) {
-            mepConstant = WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_OUT_OPTIONAL_IN;
-        } else if (WSDLConstants.WSDL20_2004Constants.MEP_URI_ROBUST_IN_ONLY.equals(messageExchangePattern) || WSDLConstants.WSDL20_2006Constants.MEP_URI_ROBUST_IN_ONLY.equals(messageExchangePattern)) {
-            mepConstant = WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_ROBUST_IN_ONLY;
-        } else if (WSDLConstants.WSDL20_2004Constants.MEP_URI_ROBUST_OUT_ONLY.equals(messageExchangePattern) || WSDLConstants.WSDL20_2006Constants.MEP_URI_ROBUST_OUT_ONLY.equals(messageExchangePattern)) {
-            mepConstant = WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_ROBUST_OUT_ONLY;
+        if (WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OUT.equals(messageExchangePattern)) {
+            mepConstant = WSDLConstants.MEP_CONSTANT_IN_OUT;
+        } else
+        if (WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_ONLY.equals(messageExchangePattern)) {
+            mepConstant = WSDLConstants.MEP_CONSTANT_IN_ONLY;
+        } else if (WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OPTIONAL_OUT
+                .equals(messageExchangePattern)) {
+            mepConstant = WSDLConstants.MEP_CONSTANT_IN_OPTIONAL_OUT;
+        } else
+        if (WSDLConstants.WSDL20_2006Constants.MEP_URI_OUT_IN.equals(messageExchangePattern)) {
+            mepConstant = WSDLConstants.MEP_CONSTANT_OUT_IN;
+        } else
+        if (WSDLConstants.WSDL20_2006Constants.MEP_URI_OUT_ONLY.equals(messageExchangePattern)) {
+            mepConstant = WSDLConstants.MEP_CONSTANT_OUT_ONLY;
+        } else if (WSDLConstants.WSDL20_2006Constants.MEP_URI_OUT_OPTIONAL_IN
+                .equals(messageExchangePattern)) {
+            mepConstant = WSDLConstants.MEP_CONSTANT_OUT_OPTIONAL_IN;
+        } else if (WSDLConstants.WSDL20_2006Constants.MEP_URI_ROBUST_IN_ONLY
+                .equals(messageExchangePattern)) {
+            mepConstant = WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY;
+        } else if (WSDLConstants.WSDL20_2006Constants.MEP_URI_ROBUST_OUT_ONLY
+                .equals(messageExchangePattern)) {
+            mepConstant = WSDLConstants.MEP_CONSTANT_ROBUST_OUT_ONLY;
         }
 
-        if (mepConstant == WSDLConstants.WSDL20_2004Constants.MEP_CONSTANT_INVALID) {
+        if (mepConstant == WSDLConstants.MEP_CONSTANT_INVALID) {
             throw new AxisError(Messages.getMessage("mepmappingerror"));
         }
 
 
         return mepConstant;
     }
-    
+
     /**
      * Get an AxisFault object to represent the SOAPFault in the SOAPEnvelope attached
      * to the provided MessageContext. This first check for an already extracted AxisFault

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/SOAPHeaderMessage.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/SOAPHeaderMessage.java?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/SOAPHeaderMessage.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/SOAPHeaderMessage.java Mon Feb  5 00:21:12 2007
@@ -35,6 +35,7 @@
     private String use;
     private String namespaceURI;
     private boolean required;
+    private Boolean mustUnderstand;
 
 
     public SOAPHeaderMessage() {
@@ -92,5 +93,15 @@
     public void setRequired(boolean required) {
         this.required = required;
     }
-}
 
+
+    public Boolean isMustUnderstand() {
+        return mustUnderstand;
+    }
+
+    public void setMustUnderstand(Boolean mustUnderstand) {
+        this.mustUnderstand = mustUnderstand;
+    }
+
+
+}

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/WSDLConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/WSDLConstants.java?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/WSDLConstants.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/WSDLConstants.java Mon Feb  5 00:21:12 2007
@@ -23,12 +23,14 @@
 
 public interface WSDLConstants {
 
+    String WSDL_1_1_STYLE = "style";
+    
     String STYLE_RPC = "rpc";
     String STYLE_DOC = "document";
     String STYLE_MSG = "msg";
 
-    String WSDL_4_J_DEFINITION  = "wsdl4jDefinition";
-    String WSDL_20_DESCRIPTION  = "WSDL20Description";
+    String WSDL_4_J_DEFINITION = "wsdl4jDefinition";
+    String WSDL_20_DESCRIPTION = "WSDL20Description";
     /**
      * Field WSDL2_0_NAMESPACE
      */
@@ -45,6 +47,15 @@
      */
     public static final String WSDL_MESSAGE_DIRECTION_IN = "in";
 
+    public static final String WSDL_MESSAGE_IN_MESSAGE = "inMessage";
+
+    public static final String WSDL_MESSAGE_OUT_MESSAGE = "outMessage";
+
+    public static final String SOAP_HEADER = "soap_header";
+
+    public static final String HTTP_HEADER = "http_header";
+
+
 
     /**
      * Field WSDL_MESSAGE_DIRECTION_OUT
@@ -86,7 +97,7 @@
     String INPUT_PART_QNAME_SUFFIX = "_input";
 
 
-    public static interface WSDL11Constants{
+    public static interface WSDL11Constants {
 
         /**
          * The Type name for the SOAP Address defined in the Port/Endpoint
@@ -94,77 +105,43 @@
         QName SOAP_11_ADDRESS = new QName(
                 Constants.URI_WSDL11_SOAP, "address");
         QName SOAP_12_ADDRESS = new QName(
-               Constants.URI_WSDL12_SOAP, "address");
+                Constants.URI_WSDL12_SOAP, "address");
         QName SOAP_11_OPERATION = new QName(
-               Constants.URI_WSDL11_SOAP, "operation");
+                Constants.URI_WSDL11_SOAP, "operation");
         QName SOAP_12_OPERATION = new QName(
-               Constants.URI_WSDL12_SOAP, "operation");
+                Constants.URI_WSDL12_SOAP, "operation");
         QName SCHEMA = new QName(
-               Constants.URI_2001_SCHEMA_XSD, "schema");
+                Constants.URI_2001_SCHEMA_XSD, "schema");
         QName SOAP_11_BODY = new QName(
-               Constants.URI_WSDL11_SOAP, "body");
+                Constants.URI_WSDL11_SOAP, "body");
         QName SOAP_12_BODY = new QName(
-               Constants.URI_WSDL12_SOAP, "body");
+                Constants.URI_WSDL12_SOAP, "body");
         QName SOAP_11_HEADER = new QName(
-               Constants.URI_WSDL11_SOAP, "header");
+                Constants.URI_WSDL11_SOAP, "header");
         QName SOAP_12_HEADER = new QName(
-               Constants.URI_WSDL12_SOAP, "header");
+                Constants.URI_WSDL12_SOAP, "header");
         QName SOAP_11_BINDING = new QName(
-               Constants.URI_WSDL11_SOAP, "binding");
+                Constants.URI_WSDL11_SOAP, "binding");
         QName SOAP_12_BINDING = new QName(
-               Constants.URI_WSDL12_SOAP, "binding");
+                Constants.URI_WSDL12_SOAP, "binding");
         QName POLICY = new QName(
-               Constants.URI_POLICY, "Policy");
+                Constants.URI_POLICY, "Policy");
         QName POLICY_REFERENCE = new QName(
-               Constants.URI_POLICY, "PolicyReference");
+                Constants.URI_POLICY, "PolicyReference");
     }
 
-   public static interface WSDL20_2004Constants {
+    public static final int MEP_CONSTANT_OUT_IN = 16;
+    public static final int MEP_CONSTANT_OUT_ONLY = 14;
+    public static final int MEP_CONSTANT_IN_ONLY = 10;
+    public static final int MEP_CONSTANT_ROBUST_IN_ONLY = 11;
+    public static final int MEP_CONSTANT_IN_OUT = 12;
+    public static final int MEP_CONSTANT_IN_OPTIONAL_OUT = 13;
+    int MEP_CONSTANT_OUT_OPTIONAL_IN = 17;
+        int MEP_CONSTANT_INVALID = -1;
+    int MEP_CONSTANT_ROBUST_OUT_ONLY = 15;
+
 
 
-       /**
-        * Field MEP_URI_IN_ONLY
-        */
-       String MEP_URI_IN_ONLY = "http://www.w3.org/2004/08/wsdl/in-only";
-       int MEP_CONSTANT_IN_ONLY = 10;
-       /**
-        * Field MEP_URI_ROBUST_IN_ONLY
-        */
-       String MEP_URI_ROBUST_IN_ONLY = "http://www.w3.org/2004/08/wsdl/robust-in-only";
-       int MEP_CONSTANT_ROBUST_IN_ONLY = 11;
-       /**
-        * Field MEP_URI_IN_OUT
-        */
-       String MEP_URI_IN_OUT = "http://www.w3.org/2004/08/wsdl/in-out";
-       String MEP_URI_IN_OUT_03 = "http://www.w3.org/2004/03/wsdl/in-out";
-       int MEP_CONSTANT_IN_OUT = 12;
-       /**
-        * Field MEP_URI_IN_OPTIONAL_OUT
-        */
-       String MEP_URI_IN_OPTIONAL_OUT = "http://www.w3.org/2004/08/wsdl/in-opt-out";
-       int MEP_CONSTANT_IN_OPTIONAL_OUT = 13;
-       /**
-        * Field MEP_URI_OUT_ONLY
-        */
-       String MEP_URI_OUT_ONLY = "http://www.w3.org/2004/08/wsdl/out-only";
-       int MEP_CONSTANT_OUT_ONLY = 14;
-       /**
-        * Field MEP_URI_ROBUST_OUT_ONLY
-        */
-       String MEP_URI_ROBUST_OUT_ONLY = "http://www.w3.org/2004/08/wsdl/robust-out-only";
-       int MEP_CONSTANT_ROBUST_OUT_ONLY = 15;
-       /**
-        * Field MEP_URI_OUT_IN
-        */
-       String MEP_URI_OUT_IN = "http://www.w3.org/2004/08/wsdl/out-in";
-       int MEP_CONSTANT_OUT_IN = 16;
-       /**
-        * Field MEP_URI_OUT_OPTIONL_IN
-        */
-       String MEP_URI_OUT_OPTIONAL_IN = "http://www.w3.org/2004/08/wsdl/out-opt-in";
-       int MEP_CONSTANT_OUT_OPTIONAL_IN = 17;
-       int MEP_CONSTANT_INVALID = -1;
-   }
     public static interface WSDL20_2006Constants {
 
         // http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060327/#in-only
@@ -184,6 +161,25 @@
         // http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060327/#out-opt-in
         String MEP_URI_OUT_OPTIONAL_IN = "http://www.w3.org/2006/01/wsdl/out-opt-in";
         String DEFAULT_NAMESPACE_URI = "http://www.w3.org/2006/01/wsdl";
+
+        String NMTOKEN_ANY = "#any";
+        String NMTOKEN_NONE = "#none";
+        String NMTOKEN_OTHER = "#other";
+        String NMTOKEN_ELEMENT = "#element";
+
+    }
+    
+    public static interface WSDL20_2004_Constants {
+
+        String MEP_URI_IN_ONLY = "http://www.w3.org/2004/08/wsdl/in-only";
+        String MEP_URI_ROBUST_IN_ONLY = "http://www.w3.org/2004/08/wsdl/robust-in-only";
+        String MEP_URI_IN_OUT = "http://www.w3.org/2004/08/wsdl/in-out";
+        String MEP_URI_IN_OPTIONAL_OUT = "http://www.w3.org/2004/08/wsdl/in-opt-out";
+        String MEP_URI_OUT_ONLY = "http://www.w3.org/2004/08/wsdl/out-only";
+        String MEP_URI_ROBUST_OUT_ONLY = "http://www.w3.org/2004/08/wsdl/robust-out-only";
+        String MEP_URI_OUT_IN = "http://www.w3.org/2004/08/wsdl/out-in";
+        String MEP_URI_OUT_OPTIONAL_IN = "http://www.w3.org/2004/08/wsdl/out-opt-in";
+        String DEFAULT_NAMESPACE_URI = "http://www.w3.org/2004/08/wsdl";
 
         String NMTOKEN_ANY = "#any";
         String NMTOKEN_NONE = "#none";

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/WSDLUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/WSDLUtil.java?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/WSDLUtil.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/wsdl/WSDLUtil.java Mon Feb  5 00:21:12 2007
@@ -28,13 +28,7 @@
      * @param mep
      */
     public static boolean isInputPresentForMEP(String mep) {
-        return WSDLConstants.WSDL20_2004Constants.MEP_URI_IN_ONLY.equals(mep) ||
-                WSDLConstants.WSDL20_2004Constants.MEP_URI_IN_OPTIONAL_OUT.equals(mep) ||
-                WSDLConstants.WSDL20_2004Constants.MEP_URI_OUT_OPTIONAL_IN.equals(mep) ||
-                WSDLConstants.WSDL20_2004Constants.MEP_URI_ROBUST_OUT_ONLY.equals(mep) ||
-                WSDLConstants.WSDL20_2004Constants.MEP_URI_ROBUST_IN_ONLY.equals(mep) ||
-                WSDLConstants.WSDL20_2004Constants.MEP_URI_IN_OUT.equals(mep) ||
-                WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OPTIONAL_OUT.equals(mep)||
+        return WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OPTIONAL_OUT.equals(mep)||
                 WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_ONLY.equals(mep)||
                 WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OUT.equals(mep)||
                 WSDLConstants.WSDL20_2006Constants.MEP_URI_OUT_IN.equals(mep)||
@@ -47,12 +41,7 @@
      * @param MEP
      */
     public static boolean isOutputPresentForMEP(String MEP) {
-        return WSDLConstants.WSDL20_2004Constants.MEP_URI_OUT_ONLY.equals(MEP) ||
-                WSDLConstants.WSDL20_2004Constants.MEP_URI_OUT_OPTIONAL_IN.equals(MEP) ||
-                WSDLConstants.WSDL20_2004Constants.MEP_URI_IN_OPTIONAL_OUT.equals(MEP) ||
-                WSDLConstants.WSDL20_2004Constants.MEP_URI_ROBUST_OUT_ONLY.equals(MEP) ||
-                WSDLConstants.WSDL20_2004Constants.MEP_URI_IN_OUT.equals(MEP) ||
-                WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OPTIONAL_OUT.equals(MEP) ||
+        return  WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OPTIONAL_OUT.equals(MEP) ||
                 WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OUT.equals(MEP) ||
                 WSDLConstants.WSDL20_2006Constants.MEP_URI_OUT_IN.equals(MEP) ||
                 WSDLConstants.WSDL20_2006Constants.MEP_URI_OUT_ONLY.equals(MEP) ||

Modified: webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/engine/EnginePausingTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/engine/EnginePausingTest.java?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/engine/EnginePausingTest.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/engine/EnginePausingTest.java Mon Feb  5 00:21:12 2007
@@ -102,6 +102,19 @@
             }
         });
         service.addOperation(axisOp);
+        
+        AxisEndpoint endpoint = new AxisEndpoint();
+        endpoint.setName("NullService");
+
+        AxisBinding binding = new AxisBinding();
+        AxisBindingOperation bindingOp = new AxisBindingOperation();
+
+        bindingOp.setAxisOperation(axisOp);
+        binding.addChild(bindingOp);
+        endpoint.setBinding(binding);
+        service.addEndpoint(endpoint.getName(), endpoint);
+        service.setEndpointName(endpoint.getName());
+        
         service.mapActionToOperation(operationName.getLocalPart(), axisOp);
 
         mc = new MessageContext();

Copied: webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/transport/http/RestSenderTest.java (from r501333, webservices/axis2/branches/java/WSDL_2_0/modules/kernel/test/org/apache/axis2/transport/http/RestSenderTest.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/transport/http/RestSenderTest.java?view=diff&rev=503585&p1=webservices/axis2/branches/java/WSDL_2_0/modules/kernel/test/org/apache/axis2/transport/http/RestSenderTest.java&r1=501333&p2=webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/transport/http/RestSenderTest.java&r2=503585
==============================================================================
--- webservices/axis2/branches/java/WSDL_2_0/modules/kernel/test/org/apache/axis2/transport/http/RestSenderTest.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/transport/http/RestSenderTest.java Mon Feb  5 00:21:12 2007
@@ -1,15 +1,3 @@
-package org.apache.axis2.transport.http;
-
-import junit.framework.TestCase;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAPEnvelope;
-
-import java.util.regex.Pattern;
-import java.util.regex.Matcher;
 /*
  * Copyright 2004,2005 The Apache Software Foundation.
  *
@@ -26,12 +14,21 @@
  * limitations under the License.
  */
 
-public class RestSenderTest extends TestCase {
 
-    String testURL = "http://locahost:8080/paramOne/{FirstName}";
-    String queryPart = "?test=1&lastName={LastName}";
+package org.apache.axis2.transport.http;
+
+import junit.framework.TestCase;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.AxisFault;
 
 
+public class RestSenderTest extends TestCase {
+
+    String testURL = "http://locahost:8080/paramOne/{FirstName}?test=1&lastName={LastName}";
     private MessageContext messageContext;
 
 
@@ -39,8 +36,8 @@
         messageContext = new MessageContext();
 
         SOAPFactory soapFactory = OMAbstractFactory.getSOAP12Factory();
-
         SOAPEnvelope defaultEnvelope = soapFactory.getDefaultEnvelope();
+
         messageContext.setEnvelope(defaultEnvelope);
 
         OMElement bodyFirstElement = soapFactory.createOMElement("TestOperation", null);
@@ -51,15 +48,24 @@
 
     }
 
-    public void testAppendParametersToURL() {
+    public void testAppendParametersToURL() throws AxisFault {
         RESTSender restSender = new RESTSender();
-        String modifiedURL = restSender.appendParameters(messageContext, testURL, queryPart);
+        String modifiedURL = null;
+
+        int separator = testURL.indexOf('{');
+
+        if (separator > 0) {
+            String path = testURL.substring(0, separator - 1);
+            String query = testURL.substring(separator - 1);
 
-        System.out.println("original = " + testURL + queryPart);
+            modifiedURL = path + restSender.applyURITemplating(messageContext, query, true);
+
+        }
+
+        System.out.println("original = " + testURL);
         System.out.println("modifiedURL = " + modifiedURL);
 
         String expectedURL = "http://locahost:8080/paramOne/Foo?test=1&lastName=Bar";
-
         assertEquals(modifiedURL, expectedURL);
 
     }

Copied: webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/util/SchemaUtilTest.java (from r501333, webservices/axis2/branches/java/WSDL_2_0/modules/kernel/test/org/apache/axis2/util/SchemaUtilTest.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/util/SchemaUtilTest.java?view=diff&rev=503585&p1=webservices/axis2/branches/java/WSDL_2_0/modules/kernel/test/org/apache/axis2/util/SchemaUtilTest.java&r1=501333&p2=webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/util/SchemaUtilTest.java&r2=503585
==============================================================================
--- webservices/axis2/branches/java/WSDL_2_0/modules/kernel/test/org/apache/axis2/util/SchemaUtilTest.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/util/SchemaUtilTest.java Mon Feb  5 00:21:12 2007
@@ -1,8 +1,3 @@
-package org.apache.axis2.util;
-
-import junit.framework.TestCase;
-
-import java.util.*;
 /*
  * Copyright 2004,2005 The Apache Software Foundation.
  *
@@ -19,6 +14,17 @@
  * limitations under the License.
  */
 
+
+package org.apache.axis2.util;
+
+import junit.framework.TestCase;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.axis2.AxisFault;
+
+
 public class SchemaUtilTest extends TestCase {
 
     private Map parameterMap;
@@ -27,11 +33,13 @@
         parameterMap = new HashMap();
 
         /**
-         * <year>2006</year>
-         <month>11</month>
-         <day>18</day>
-         <time>16:40:00</time>
-         <time>20:00:42</time>
+         *The structure which is serialized in the url. We try to recreate the structure at the
+         * server side.
+         *<year>2006</year>
+         *<month>11</month>
+         *<day>18</day>
+         *<time>16:40:00</time>
+         *<time>20:00:42</time>
          */
 
     }
@@ -45,15 +53,15 @@
 
         MultipleEntryHashMap multipleEntryHashMap = new MultipleEntryHashMap();
 
-        SchemaUtil.extractParametersFromQueryPart(httpLocation, "&", multipleEntryHashMap, parameterMap);
+        SchemaUtil.extractParametersFromQueryPart(httpLocation, "&", multipleEntryHashMap,
+                                                  parameterMap);
         assertEquals("ABCD", multipleEntryHashMap.get("FirstName"));
         assertEquals("DCBA", multipleEntryHashMap.get("LastName"));
     }
 
-    public void testServerSideURLTemplateHandlingOne() {
+    public void testServerSideURLTemplateHandlingOne() throws AxisFault {
         String template = "datespace/{year}/{month}/{day}/{time}-{time}.html";
-
-        StringBuffer actualPath = new StringBuffer("http://example.org/datespace/2006/11/18/16:40:00-20:00:42.html");
+        String actualPath = "http://example.org/datespace/2006/11/18/16:40:00-20:00:42.html";
 
         MultipleEntryHashMap multipleEntryHashMap = new MultipleEntryHashMap();
 
@@ -66,14 +74,14 @@
         assertEquals(multipleEntryHashMap.get("time"), "20:00:42");
     }
 
-    public void testServerSideURLTemplateHandlingTwo() {
+    public void testServerSideURLTemplateHandlingTwo() throws AxisFault {
 
         parameterMap.put("day", "18");
         parameterMap.put("start", "16:40:00");
         parameterMap.put("end", "20:00:42");
         String template = "datespace/{year}/{month}.html?day={day};start={time};end={time}";
-
-        StringBuffer actualPath = new StringBuffer("http://example.org/datespace/2006/11.html?day=18;start=16:40:00;end=20:00:42");
+        String actualPath =
+                "http://example.org/datespace/2006/11.html?day=18;start=16:40:00;end=20:00:42";
 
         MultipleEntryHashMap multipleEntryHashMap = new MultipleEntryHashMap();
 
@@ -82,7 +90,8 @@
         String templatedQueryParams = urlParts[1];
 
         SchemaUtil.extractParametersFromPath(templatedPath, multipleEntryHashMap, actualPath);
-        SchemaUtil.extractParametersFromQueryPart(templatedQueryParams, ";", multipleEntryHashMap, parameterMap);
+        SchemaUtil.extractParametersFromQueryPart(templatedQueryParams, ";", multipleEntryHashMap,
+                                                  parameterMap);
 
         assertEquals(multipleEntryHashMap.get("year"), "2006");
         assertEquals(multipleEntryHashMap.get("month"), "11");

Modified: webservices/axis2/trunk/java/modules/mtompolicy/project.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/mtompolicy/project.xml?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/mtompolicy/project.xml (original)
+++ webservices/axis2/trunk/java/modules/mtompolicy/project.xml Mon Feb  5 00:21:12 2007
@@ -92,5 +92,4 @@
             </includes>
         </unitTest>
 	</build>
-    <reports/>
 </project>

Modified: webservices/axis2/trunk/java/modules/rahas/project.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rahas/project.xml?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/rahas/project.xml (original)
+++ webservices/axis2/trunk/java/modules/rahas/project.xml Mon Feb  5 00:21:12 2007
@@ -207,5 +207,4 @@
             </includes>
         </unitTest>
 	</build>
-    <reports/>
 </project>

Modified: webservices/axis2/trunk/java/modules/rahas/src/META-INF/module.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rahas/src/META-INF/module.xml?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/rahas/src/META-INF/module.xml (original)
+++ webservices/axis2/trunk/java/modules/rahas/src/META-INF/module.xml Mon Feb  5 00:21:12 2007
@@ -4,7 +4,7 @@
 
     <supported-policy-namespaces namespaces="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/>
     
-    <operation name="RequestSecurityToken" mep="http://www.w3.org/2004/08/wsdl/in-out">
+    <operation name="RequestSecurityToken" mep="http://www.w3.org/2006/01/wsdl/in-out">
         <messageReceiver class="org.apache.rahas.STSMessageReceiver"/>
 
 		<!-- Action mapping to accept SCT requests -->

Modified: webservices/axis2/trunk/java/modules/secpolicy/project.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/project.xml?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/project.xml (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/project.xml Mon Feb  5 00:21:12 2007
@@ -97,5 +97,4 @@
    </resource>
     </resources>
 	</build>
-    <reports/>
 </project>

Modified: webservices/axis2/trunk/java/modules/security/project.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/project.xml?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/security/project.xml (original)
+++ webservices/axis2/trunk/java/modules/security/project.xml Mon Feb  5 00:21:12 2007
@@ -101,6 +101,14 @@
             </properties>
         </dependency>
         <dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>${commons.fileupload.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
             <groupId>${stax.impl.groupid}</groupId>
             <artifactId>${stax.impl.artifactid}</artifactId>
             <version>${stax.impl.version}</version>
@@ -263,5 +271,4 @@
             </includes>
         </unitTest>
 	</build>
-    <reports/>
 </project>

Modified: webservices/axis2/trunk/java/modules/xmlbeans/project.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/xmlbeans/project.xml?view=diff&rev=503585&r1=503584&r2=503585
==============================================================================
--- webservices/axis2/trunk/java/modules/xmlbeans/project.xml (original)
+++ webservices/axis2/trunk/java/modules/xmlbeans/project.xml Mon Feb  5 00:21:12 2007
@@ -75,6 +75,14 @@
             <properties>
                 <module>true</module>
             </properties>
+        </dependency>
+	<dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>${commons.fileupload.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
         </dependency>
         <dependency>
             <groupId>${stax.impl.groupid}</groupId>
@@ -155,7 +163,6 @@
 
     </dependencies>
 
-    <reports/>
     <!-- add the build properties-->
     <build>
         <resources>



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org