I use ArcGIS Server to serve a map of points from a database. When I create and publish the mxd as a WMS service in AGS everything looks fine. But after a while, the day after or something - the map shows nothing. Every request to the WMSServer for that layer comes back empty. Opening the mxd in ArcMap shows the correct data as expected, only the WMS calls are faulty.
What could be the problem?
Details: I create an mxd file, and add data to it from a non-spatial database. To create the layers I right-click on the data source and select "Display XY data..." and select the X and Y columns from the data.
In AGS Manager I select "Add new service" and point to that mxd file, using all default settings from that. I have also tried the simpler "Publish GIS resource" and got the same results.
It appears as it was the way I set up the data connections in the mxd file that caused the problem. ArcGIS server uses a system account to run all services ("ArcGISWS" in our instance), and that account didn't have access to all data that I referenced in the mxd. Changing to an mxd that was set up using the ArcGISWS account, everything works as expected. I guess that the solution for anyone doing this is to log in to the ArcGIS Server with the intended account (ArcGISWS) and create the mxd, in that case all problems with data access will be obvious already in ArcMap, and the user can solve those issues before publishing the service.
At least, that is what I'll recommend. :-)
The reason behind the strange behaviour of the map working at first must have been a connection cache or something, so when the AGS recycled the connections or pools during the night, that connection was removed, leaving the ArcGISWS account to do the connection, which it couldn't due to lack of permissions.
Hope I can help someone with this attempt of a solution.