Does GetListItems work on Doc Libraries?

Feb 18, 2012 at 4:52 PM

I'm actually in a document set in a doc library and trying to get several fields from the doc set itself. When I call the function I get a soap error:

soap:ServerException of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown.One or more field types are not installed properly. Go to the list settings page to delete these fields.0x81020014

I'm assuming the problem is either with the doc library or with a doc set. Is this correct?

	var cq = "<Query><Where><Eq><FieldRef Name='Name' /><Value Type='Text'>" + ContNumb + "</Value></Eq></Where></Query>";
	$().SPServices({
    	operation: "GetListItems",
    	async: false,
    	listName: "Contracts",
    	CAMLViewFields: "<ViewFields Properties='True'><FieldRef Name='BU' /><FieldRef Name='Work_x0020_Description' /></ViewFields>",
    	CAMLQuery: cq,
    	completefunc: function (xData, Status) {
    		alert(xData.responseXML.xml);
      		$(xData.responseXML).SPFilterNode("z:row").each(function() {
       		//do something here;
     	});
    	}
  	});

 

Feb 18, 2012 at 5:12 PM
TeenerTim
Make sure you are using internal names in your QAML query. In my experience, this error has been caused by incorrectly defining a field name.

_____
Paul

Sent from mobile device.


Feb 18, 2012 at 5:31 PM
Edited Feb 18, 2012 at 8:06 PM

Got it fixed. Paul you were right about the names. The internal name for a folder or doc set is "FileLeafRef" and the file type is "SPFieldFile".

Feb 18, 2012 at 8:16 PM

Now I need to figure out why my ItemCount="0".

Feb 18, 2012 at 8:26 PM

Had to add:

CAMLQueryOptions:"<QueryOptions><ViewAttributes Scope='RecursiveAll' IncludeRootFolder='True' /></QueryOptions>",
to search entire library.