SharePoint Search Service is not working - sharepoint-2007

I am using SharePoint Server 2007 with collaboration portal template on Windows Server 2008. When I use the following function from Central Administration from Application Management -> search -> Manage Search Service, I met with the following error message, any ideas what is wrong?
The search service is currently offline. Visit the Services on Server page in SharePoint Central Administration to verify whether the service is enabled. This might also be because an indexer move is in progress.
thanks in advance,
George

This can happen for a variety of reasons. e.g. Search is infact moving/setting up the indexer, patch levels are different in the farm, etc. Rather than attempt to list all and their fixes, please see the links below:
http://msmvps.com/blogs/shane/archive/2009/04/13/fixing-moss-search.aspx
http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/02/24/the-search-service-is-currently-offline-visit-the-services-on-server-page-in-sharepoint-central-administration-to-verify-whether-the-service-is-enabled-this-might-also-be-because-an-indexer-move-is-in-progress.aspx

I would suggest to start with the Event Logs on your Indexer. Also cross check your event logs with the Query servers.
Typically, if something is wrong, it would be logged there (or the ULS logs). But in this case start with the Event VWR... and reset search service on the indexer as well (using Service.msc)

Related

My Visual Studio work items show Microsoft Services in the potential assignee list

How do I remove these strange services from the list of available assignees?
I have got the same result as you. Not sure it's by designed or a bug due to recent escalation of VSTS.
You could submit a Bug in this place Develop Community-Team Services and will get quick response by develop team.
For now as a workaround, you could do the assign to option of the work item in the web. It works well without those annoying Microsoft services.
This is an expected behavior. Refer to this link for details: Unexpected entries appear in "Assigned To" list in Team Explorer when connecting to a VSTS team project.
Posted by Sean [MSFT] on 7/15/2016 at 7:10 AM
This is as designed for VSTS if you are connecting from VS. The reason
you don't see the identities from Web Access when searching is because
the data source is different. It's connecting to our identity service
which can filter down results to only the identities which are users.
You can still manually type in one of those identities above and the
work item will save fine.
The VS client uses can only use local metadata, which means it doesn't
have the extra information that the identity service has for
determining if it should show a user or not in the picker.
I'm sorry for the confusion, and hope this feedback is helpful.

Connect to already open Quickbooks instance via QBXML

I'm trying to help a client who has a web application (ASP/C#) that integrates with Quickbooks via the QBXML SDK.
I want to open up a connection to an already active QuickBooks instance in a user session.
The relevant code in question:
if (rp == null)
rp = new RequestProcessor2();
if (!connected)
{
rp.OpenConnection2("IMS", "Internal Management System", QBXMLRPConnectionType.localQBD);
connected = true;
}
if (xticket == null)
xticket = rp.BeginSession(cfg.qbfile, QBFileMode.qbFileOpenMultiUser);
As is, this will attempt to launch a new instance of Quickbooks via DCOM, which is not a viable option. Following the QBSDK documention, I attempted to pass null to BeginSession's first argument, which should use the open qbw file.
However, instead of the expected action of connecting to the running instance of Quickbooks, it launches a new instance, eventually yielding the error:
"If the QuickBooks company data file is not open, a call to the "BeginSession" method must include the name of the data file."
The IIS AppPool running the web app uses the same user as the Quickbooks instance I'm trying to connect to.
This was all set up by a third party who is no longer available, and, of course, they left no documentation whatsoever on how this system was supposed to work. Any assistance would be welcome.
I'm trying to help a client who has a web application (ASP/C#) that integrates with Quickbooks via the QBXML SDK.
Unfortunately, this approach will not work.
It's a well-known limitation of QuickBooks that:
QuickBooks has to be running in the user session you're trying to connect from
QuickBooks has to have access to a GUI (it uses a GUI message pump to function)
Because your web app is running in from within IIS, neither of those two criteria are met, and connections to QuickBooks will fail. You should be using the QuickBooks Web Connector instead.
I want to open up a connection to an already active QuickBooks instance in a user session.
Unfortunately, QuickBooks won't allow this.
I managed to create an acceptable workaround to my problem, for anyone trying something similar. (Which, honestly, I don't recommend. I'm working with legacy code here.)
First, a brief overview of my research:
The QBXml interface with QuickBooks uses COM requests in order to communicate. Now, for whatever reason, whether design, bug, or limitation in COM, Quickbooks cannot communicate across LSA Logon Sessions. In practice, this means that the same console session that Quickbooks is running under must also run the QBXml code. Additionally, both Quickbooks and your application must have the same UAC elevation status.
I found no way to get IIS to reliably launch Quickbooks. The individual who setup this system before me managed to do so through some very... unorthodox methods. It was incredibly flaky, and the cause of multiple issues.
Regardless, I did manage an acceptable workaround, in the form of IIS Express. IIS Express can run under a standard user session. As such, running both Quickbooks and the web app (through IIS Express) under the same Logon Session allowed them to communicate successfully.
It is not a permanent solution, as there are drawbacks to running a service such as this in a standard user paradigm, but it is an acceptable workaround, and will allow my client to run their business while we refactor. I plan to first decouple the portions of the app that communicate with Quickbooks, moving them into their own codebase. This will allow the web facing portions of the app to operate in a more standard manner, and communicate with the QB integration code through a more reliable means than COM calls.
Thanks to Keith Palmer for helping point me in the right direction.

Power Query Windows authentication with Odata feed

I am currently trying to find a way for a customer to connect with Power Query (plugin for Excel) to access their published Odata-feed (which is hosted by Microsoft NAV 2013 R2).
For security reasons the NAV server is set to only accept Windows as an credential type. This means that the current user credentials on the client is passed on to the webservice.
The problem: The users of the system is often off site and working on another domain with a VPN connection to the NAV-environment. With that said Power Query does not pass the "correct" AD-information to the published Odata-feed which means that the user is not authorized.
I am looking for a way to change which AD-credentials that are sent thru Power Query and then to the Odata webservice.
The users have no problem typing in the webservice adress in a web browser and type in the Windows credentials when prompted and access the feed. But in Power Query there is no option for typing in custom Windows Credentials when refreshing the data.
I've tried with WebAPIKey and Basic authentication. But since the NAV-server/Webservice is set to only accept Windows authentication I'm in the dark..
Any thoughts?
I got this answer from Curt Hagenlocher (Moderator on Technet)
I'm afraid this isn't something we currently support, though we have
considered implementing it. We do loosely track feature requests and
use them to prioritize future work.
(https://social.technet.microsoft.com/Forums/en-US/03c529ba-5f20-4bc1-84de-35cc91e7c1a6/power-query-custom-windows-credentials-authentication-with-odata-feeds?forum=powerquery)

SharePoint User swipe

I have a SharePoint site developed in MOSS 2007. My site is using SharePOint farm architecture which includes following servers in it
One Application server APP1
Two Database Server's mirrored (DB1,DB2)
Two Front End Server's (WFE1, WFE2)**
Recently we are receiving complaints from customer saying that when A user logging with his credentails and navigate to site, sub-sites in it. When he click on Home (Root site) Tab he certainly loose his active looged in session and he see the home page for another user with his access previllages.
Can some one tell me what is the root cause for this...?
Any help will be highly appriciated.
FYI: I have implemented caching to improve the performance of this site.
Thanks & Regards,
Sachin k
It seems to be the problem with setting of Load Balancer. Special care needs to be taken when SharePoint is load balanced under kerberos.
See:
http://sharepointspot.blogspot.com/2007/09/kerberos-load-balanced-web-sites.html
http://blogs.msdn.com/b/joelo/archive/2007/01/05/nlb-network-load-balancing-and-sharepoint-troubleshooting-and-configuration-tips.aspx
Specifically:
To manage session transfer:
Use ASP.NET SQL Session management so all sessions are recorded in a central location OR
Use affinity on the switch so that concurrent requests from a particular IP address within the same session go to the same target server

How to access start addresses of a Content Source programatically?

How can we get a list of start addresses added in a Sharepoint content source programatically ? The code which need to achieve this will be running on different server than where sharepoint is installed so i am looking for a solution where we can query sharepoint database to get this list.
Never query the sharepoint database directly. Even a simple select statement an cause a read lock, potentially creating havoc in your farm.
By using the database directly you are NO LONGER SUPPORTED, meaning that if it does go belly up and you call microsoft for support, they'll send someone from consulting ($$$$) or ask you to go back to the last known good configuration (i.e. a backup of your sharepoint databases from before the point you started accessing the database directly...)
Create a web service that uses the sharepoint object model to get this list, then deploy it to the sharepoint machine, then have your external app use that service.

Resources