Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

The html returned by a rest mapservice url includes "supported extensions" down at the bottom. However the json returned does not list the extensions. Is there a way to get this list of SOE's in a json format?

I'd include a sample url, but I can't find any rest SOE's when I search - does anyone know of a sample that has been published?

Update Thanks to Bill, here's an ESRI sample that illustrates the issue: The html page returns Supported Extensions, but when formatted as json, it doesn't.

Update 2 ESRI support filed it as an enhance request (NIM062551).

share|improve this question
2  
There is a sample with a REST SOE here: sampleserver4.arcgisonline.com/ArcGIS/rest/services/Elevation/… but I don't see the "ElevationsSOE" included in the JSON response. –  Bill Dollins Nov 4 '10 at 14:58
    
Thanks Bill, I'll report this to ESRI. I wonder why google doesn't find the html page for this mapservice google.com/… –  Kirk Kuykendall Nov 4 '10 at 15:38
add comment

3 Answers

up vote 2 down vote accepted

I don't see how to do it. The REST API documentation discusses how to get information about SOEs as child resources of a MapServer (http://help.arcgis.com/en/arcgisserver/10.0/apis/rest/index.html?admin.html). Logic would indicate that {MapServer URL}/exts should return a list of SOEs but it returns an error. Only when you specifically call down to the SOE resource do you get a response.

To me, this seems to be a gap in the API. If you know of a specific SOE, you can get information about it, but I don't see any way to get a list of available SOEs in the first place.

share|improve this answer
add comment

I guess one alternative approach would to be implement another REST SOE which would provide a JSON list of other enabled extensions.

You can use the IServerObjectExtensionManager interface for that, but this of course assumes you know the names or GUIDs of all the registered extensions, since as far as I know, there is no way to access IServerObjectConfiguration3 or IServerObjectManager2.GetExtensionTypeInfos from within your SOE, which would be helpful.

share|improve this answer
add comment

If you're willing to do something absolutely moderately awful, you could get the contents of that page as HTML, and then use jQuery to get the links:

var extAnchors = $('b').filter( function( index ) { 
   if( this.innerHTML.match( 'Supported Extensions' ) ) 
      return true; 
   } ).nextAll('a');

This gets all the anchor elements after the phrase "Supported Extensions". You'd at least have something to work with until ESRI patches the API.

I'll see if I can come up with an equivalent for use with Dojo, which I like about 100 times less than jQuery.

share|improve this answer
    
Thanks Herb. Right now I'm really just needing to know if a mapservice has a particular SOE - not a list of all soe's. I will need that eventually. But for now, since I'm using WPF, I think I'll just using webclient to see if a rest error json string is returned for the soe's expected url. –  Kirk Kuykendall Nov 4 '10 at 18:48
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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