0

Hi I've got a hightrust application on sharepoint 2016. On development the submitfile worked although the website and the sharepoint site were both on the same server.

Moving to staging and the sharepoint site is on one site and the IIS website on another.

When I call submitfile I get the reply <ResultCode>NotFound</ResultCode>

I've checked and the appPool which the soap request is running as does have access as well as being in the "Records Center Web Service Submitters" group.

I've tested using soapui the 'GetServerInfo' and it does seem to have access as it gets results back.

There are a few errors floating around the ULS logs

EntityTypes calculated. Web: 'ff2dee5d-b283-4413-b16a-2c4e27a53acf', WebApp: 'null', EntityTypeCount: '5'.
EntityTypes calculated. Web: 'ff2dee5d-b283-4413-b16a-2c4e27a53acf', WebApp: 'null', EntityTypeCount: '1'.

SPSecurityTokenServiceManager!EnsureSharePointLogonRequestClaims: InputIdentity doesn't conatin a PrimarySid claim.

SPLoggingLock held lock for 469 milliseconds. Call stack:   
 at Microsoft.SharePoint.Utilities.SPLoggingLockTag.Dispose()    
 at Microsoft.SharePoint.Administration.SPPersistedObjectCollectionCache.InvalidateCache

SPMicrofeedContext.SetMySiteHostForContext failed System.UriFormatException: Invalid URI: The URI is empty.

But in all honesty I'm not too sure they have anything todo with it.

Any ideas?

Additional Info I'm using the sharepoint soap request library ie.

  var listsProxy = new CESARecordSubmit.RecordsRepositorySoapClient();
                    listsProxy.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
                    listsProxy.Endpoint.Address = endpoint;
                    listsProxy.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;

Part with properties etc.

 var result = listsProxy.SubmitFile(bytesArray, records.ToArray(), "xxxxx", _spAppPool.Site.RootWeb.Url + file.ServerRelativeUrl, _sp.LoginName);

The appPool user of the IIS site is in the "Records Center Web Service Submitters" group.

9
  • This could use some additional information. Is the application on SharePoint trying to call a web service on the external IIS site, or is an IIS hosted application trying to call a SharePoint built-in service? What url is being hit when the NotFound error is received, what method (POST, GET, etc.) is the call?
    – willman
    Commented Jan 7, 2020 at 16:41
  • I've added a bit of the code there to show you what I'm doing. Commented Jan 7, 2020 at 16:46
  • @willman any ideas? Commented Jan 7, 2020 at 20:30
  • Also one other question is the NotFound in reference to the user in '_sp.LoginName' or the user who is running the soap command? Commented Jan 7, 2020 at 20:31
  • A NotFound resultcode usually means the URL endpoint could not be found. Are you sure that the value of your endpoint is reachable from the IIS machine?
    – willman
    Commented Jan 7, 2020 at 21:02

1 Answer 1

0

Worked this one out, half my own fault but it's a situation that anyone can find themselves in. We had some trouble with the records centre as we were doing some importing in and wanted to reset to try again.

So basically deleted the records centre and recreated. SP in it's wisdom decided to give me a new Records Center Web Service Submitters group named Records Center Web Service Submitters (1)

Not thinking it required I deleted it and put my users in the other one.

Clearly SP ties the group (somehow) to it's submit file process and has just chosen to negate the other one.

If you want to bring back the other one then "I deactivated and then re-enabled the Content Organizer feature on the target records centre."

Citing the question/answer here. Error when sending document to configured records centre

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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