1

My .NET application heavily relies on SharePoint 'Check-in' and 'Check-out' operations.

There are two servers: serv1 and serv2

On serv1, only SP2010 is installed. My code is able to check-out and check-in files successfully.

On serv2, SP2010 and SP2013 are installed. The same code works fine with SP2013. But fails to check-out from SP2010.

(Please advise on what more information is needed to resolve this issue?)

  1. I am doing operations on files in document library.
  2. Error from log: SharePoint HTTP 500 Errors and IIS Failed Request Tracing

Snippet from my source.

 static SPLists.Lists listService;
 listService = new SPLists.Lists();
 listService.Credentials = new System.Net.NetworkCredential(strSharepointUserName, strSharepointPassword, strDomain);
 listService.Url =  strSharepointServer + strPath + "/_vti_bin/Lists.asmx";
 bool myResults = listService.CheckOutFile(strDestination, "true", "20 Jun 2006 12:00:00 GMT");

Update:

  1. When I change the library setting (from Check-out needed to not required) on serv2 SP2010 it starts working.
  2. I checked the server and SharePoint 2010 and 2013 are installed on different servers.

Snippet of "uaterroulslogs.log"

Error encountered in background cache check System.UnauthorizedAccessException: The current user has insufficient permissions to perform this operation. 
    at Microsoft.SharePoint.Taxonomy.MetadataWebServiceApplicationProxy.<>c__DisplayClass2c.<RunOnChannel>b__2b() 
    at Microsoft.Office.Server.Security.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) 
    at Microsoft.SharePoint.Taxonomy.MetadataWebServiceApplicationProxy.<>c__DisplayClass2c.<RunOnChannel>b__2a() 
    at Microsoft.Office.Server.Utilities.MonitoredScopeWrapper.RunWithMonitoredScope(Action code) 
    at Microsoft.SharePoint.Taxonomy.MetadataWebServiceApplicationProxy.RunOnChannel(CodeToRun codeToRun, Double operationTimeoutFactor) 

Permission check failed for WFE web app user: permission check: '0000000000001000' term store: 'EDRMS Managed Metadata Service'.
  • 1
    Can please share your code and error your are getting? – Aanchal Jun 17 '14 at 8:10
  • 1
    So, You installed Sharepoint 2010 and 2013 on same server. Microsoft does not recommend this. Are you able to run both without any errors? – Aanchal Jun 17 '14 at 8:23
1

http 500 is an internal server error.

Could be the fact that you have 2010 and 2013 installed on the same server so could be a mixup in many locations from the database depending on what 2010 is using and what 2013 is using (same engine or independant from each other).

The next most logical if not the first is iis manager where 500 could occure. Is your 2010 site working and error only occures when your checking out the file in doc lib?

have you looked at event viewer to see the errors that occure when you performe the same action again? look under application and system. Application for sharepoint and system for the O/S.

for more debugging look here:

http://blogs.c5insight.com/Home/tabid/40/entryid/348/Troubleshooting-SharePoint-HTTP-500-Errors-and-IIS-Failed-Request-Tracing.aspx

could be a factor that your code is getting to 2013 becuase:

listService.Url =  strSharepointServer + strPath + "/_vti_bin/Lists.asmx";

http 500 is a client error that is sent to the client, its a general error. The real error will be displayed within event viewer.

Debugging will resolve your problem.

1) look at the url when debugging your code. Put a code break at the code ive noted and copy the url. Paste it in a browser to see if the webservice in 2010 is actually correct and running properly :)

2) check event viewer for the real error.

3) your pointing to the list webserice that you want to check out??

static SPLists.Lists listService;
 listService = new SPLists.Lists();
 listService.Credentials = new System.Net.NetworkCredential(strSharepointUserName, strSharepointPassword, strDomain);
 listService.Url =  strSharepointServer + strPath + "/_vti_bin/Lists.asmx";
 bool myResults = listService.CheckOutFile(strDestination, "true", "20 Jun 2006 12:00:00 GMT");

should be:

static SPLists.Lists listService;
 listService = new SPLists.Lists();
 listService.Credentials = new System.Net.NetworkCredential(strSharepointUserName, strSharepointPassword, strDomain);
 listService.Url =  strSharepointServer + strPath + "/myFileToCheckOut.txt";
 bool myResults = listService.CheckOutFile(strDestination, "true", "20 Jun 2006 12:00:00 GMT");

[SoapDocumentMethodAttribute("http://schemas.microsoft.com/sharepoint/soap/CheckOutFile", RequestNamespace="http://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="http://schemas.microsoft.com/sharepoint/soap/", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)] public bool CheckOutFile ( string pageUrl, string checkoutToLocal, string lastmodified )

the url should be to the page item or file.

pageUrl A string that contains the full path to the document to be checked out.

http://msdn.microsoft.com/en-us/library/lists.lists.checkoutfile(v=office.12).aspx

| improve this answer | |
0

I think there might be some binaries mismatch for sharepoint 2010 because while attempting to install SharePoint 2010 and SharePoint 2013 on same server binaries would go spectacularly wrong. There are fundamental design aspects that mean you can't install the two at the same time. The result would be that one or the other will not function or more likely both. The problem isn't just the binaries but also the pre-requisite files such as ASP.NET versions and so on.

SharePoint 2013 needs two folders 14 hive as well as 15 hive for operations so if you try to install it on top of SharePoint 2010 it will overwrite 14 hive of SharePoint 2010 which will make it corrupt and most likely un-usable.

Simultaneous development environment for SP2010 and SP2013 in single OS

| improve this answer | |
  • Is there a way to check if there were errors? – Passionate Developer Jun 17 '14 at 8:30
  • There is no direct way to check the error as your binaries are replaced by 2013 and might be your 2010 environment is expecting the old binaries and not able to find that. – Aanchal Jun 17 '14 at 8:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.