title: SharePoint List Service Recursive not working
body: <p>I am using the following code to retrieve the documents in a list. Its working fine. However, it only returns documents and folders in root of the doc library. Is there any thing wrong I am doing here? I am looking for files in sub folders with recursive mode.</p>
  
  <pre><code>Service service = new Service();
      service.setMaintainSession(true);
      call    = (Call) service.createCall();
      call.setTargetEndpointAddress( new java.net.URL("&lt;host&gt;/_vti_bin/lists.asmx") );
  
      call.setOperationName(new QName("http://schemas.microsoft.com/sharepoint/soap/","GetListItems"));
      call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean("true"));
      call.setProperty(Call.SOAPACTION_URI_PROPERTY,"http://schemas.microsoft.com/sharepoint/soap/GetListItems");
  
    call.addParameter(new javax.xml.namespace.QName("http://schemas.microsoft.com/sharepoint/soap/", "listName"),
      new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"),
      java.lang.String.class,
      javax.xml.rpc.ParameterMode.IN);
  
     MessageElement me = 
          new MessageElement(new QName("QueryOptions"));
      me.addChildElement(new MessageElement(new QName(
      "IncludeMandatoryColumns"))).addTextNode("true");
      me.addChildElement(new MessageElement(new QName(
      "ViewAttributes"))).addAttribute(javax.xml.soap.SOAPFactory.newInstance().createName("Scope"), "Recursive");
  
      MessageElement[] me1 = {me}; 
  
      String strMyString = ""
          + "&lt;Query&gt;"
          + "&lt;OrderBy&gt;&lt;FieldRef Name=\"ows_Modified\" Ascending=\"TRUE\" /&gt;&lt;/OrderBy&gt;"
          + "&lt;/Query&gt;";
  
          MessageElement[] meArray = { getMeFromString(strMyString) };// Array
  
  
      call.addParameter("query",org.apache.axis.Constants.XSD_SCHEMA,
              javax.xml.rpc.ParameterMode.IN);    
  
      call.addParameter("queryOptions",org.apache.axis.Constants.XSD_SCHEMA,
              javax.xml.rpc.ParameterMode.IN);    
  
      call.setReturnType(org.apache.axis.Constants.XSD_SCHEMA);
  
     Schema ret = (Schema)call.invoke(new Object[] {"listGUID",meArray, me1 });
  
  
     public org.apache.axis.message.MessageElement getMeFromString(final String strMyString) {
      DocumentBuilder docBuilder = null;
      try {
          docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
      } catch (final ParserConfigurationException e) {
  
          e.printStackTrace();
      } catch (final FactoryConfigurationError e) {
  
          e.printStackTrace();
      }
      final StringReader reader = new StringReader(strMyString);
      final InputSource inputsource = new InputSource(reader);
      Document doc = null;
      try {
          doc = docBuilder.parse(inputsource);
      } catch (final SAXException e) {
          e.printStackTrace();
      } catch (final IOException e) {
          e.printStackTrace();
      }
      final Element ele = doc.getDocumentElement();
      final MessageElement msg = new MessageElement(ele);
  
      return msg;
  }
  </code></pre>