Select to view content in your preferred language

Layers not visible to REST

5427
11
06-15-2011 06:52 AM
ar4
by
Emerging Contributor
I have a mxd map published as a service serving KML . The service is consumed in google earth.

The map has 64 layers and all of them are visible in the GE client and ArcMap.

However when I go to the REST service only 19 layers are visible.

I get the same results using the SOAP service . Nothing I can see can make these layers appear.

I thought I might have a zoom or scale visibility problem but the rest service shows the same 19 layers when I use the URL http://server/ArcGIS/rest/service/layers

Can anyone enlighten me as to what setting or function might make layers invisible to the REST and SOAP APIs ?
0 Kudos
11 Replies
RichardWatson
Deactivated User
Did you look at the ArcGIS Server Manager log?

Only certain types of layers are supported and the ones which have problems are logged.
0 Kudos
ar4
by
Emerging Contributor
I turned up the logging to verbose and made all columns visible.

I ran both a SOAP service test and tried the REST URL http://server/ArcGIS/rest/service/layers .

I did not see any errors. For the SOAP calls ( which included a find ) I did see the find initiation and the searches against the visible layers.

However the "missing" layers are still missing .

Is the a listing in the documentation of what layer types are supported somewhere ? Will "unsupported" layer types always throw an error  ?

I will keep testing
0 Kudos
ar4
by
Emerging Contributor
No errors thrown from either the REST layers URL or the SOAP calls but no mention of the missing layers.

I opened the map in arc map , As far as i can tell the missing layers and the visible layers are the same , the "visible check box " is checked and the types are the same .
0 Kudos
ar4
by
Emerging Contributor
Ok some more info

I opened the log files manually it told me there was a error of type 4013 when the server object is created . The error lists the missing layers but declares them to be invalid.

We tried changing or reentering the data connections but this did not effect the layer "validity".

However all the layers are visible in the KML service we are publishing are visible and they are coming from the same map file and the same DB.

Is there anyway to have the logs tell us why a particular layer is invalid ?
0 Kudos
RichardWatson
Deactivated User
MSD or MXD based map service?
0 Kudos
ar4
by
Emerging Contributor
MXD
10.0 setup with Java server and Oracle DB
0 Kudos
ar4
by
Emerging Contributor
Ok I have determined that the reason for the layers not appearing is that that are "invalid".

I have been able to configure a test map which produces "Unable to init from %s" and "Layer x is invalid ".

However these are the errors in the verbose ( and info:detailed) log . Is the any way to get more detail on these errors ?

for example -->WHY<--- the service is "Unable to init from %s"?
0 Kudos
RichardWatson
Deactivated User
As you confirmed, I knew that server logged the invalid layers.

I also know that MSD has tighter restrictions but you are using MXD.

Additional suggestions:

  1. If the the layer is coming from SDE then make sure that you saved your credentials when you created the connection in ArcCatalog.  Server has no UI to collect these from you.

  2. Look at the problem layers in ArcMap and see if you can find the problem.  In fact, you might try logging on the system using the ArcSOC account and then view the MXD in ArcMap.

0 Kudos
ar4
by
Emerging Contributor
Thanks for the suggestions

I have been using ArcMap and ArcCatalog .

I have already noted a frustrating condition where I have to correct data connections in BOTH to make the "Invalid Layer" Message disappear.

However having done that, the service will not publish and throws a "Unable to init from %s" error.

Strangely all the data is visible in ArcMap.

I really need the Arcmanager to give a much more useful error message. Is there really no way to "dial up" the error message verbosity to a significant level ?
0 Kudos