PROBLEMA

Las propiedades predeterminadas de extensión de objeto de servidor (SOE) no se aplican

Last Published: January 4, 2021

Descripción

Las propiedades predeterminadas de extensión de objeto de servidor (SOE) no se aplican a un servicio en el momento en que la SOE se habilita.

Nota: Este artículo pertenece a las versiones 10.0 y anteriores de ArcGIS Server. Es posible que versiones posteriores de ArcGIS incluyan funcionalidades distintas, así como nombres y ubicaciones distintos para menús, comandos y herramientas de geoprocesamiento.

Causa

Las extensiones de objeto de servidor (SOE) exponen opcionalmente las propiedades establecidas por el administrador del servidor en el momento en que la SOE se habilita en un servicio. Las propiedades de SOE permiten cierta flexibilidad en la manera en que se implementa una SOE en diferentes servicios del mismo tipo. Por ejemplo, la SOE expone una propiedad que determina qué capa de un mapa utiliza la SOE para su análisis. Esto podría variar en diversos servicios, por lo que se expone como una propiedad.

Las propiedades de SOE están destinadas a ser establecidas por medio de páginas de propiedades personalizadas escritas para ArcCatalog o Manager por el desarrollador de SOE. Si no se desarrolla ninguna página de propiedades, o si el administrador del servidor publica el servicio con el asistente "Publicar un recurso SIG" (que no muestra las páginas de propiedades), entonces las propiedades predeterminadas no se establecen en la SOE. Esto hace que la SOE no funcione correctamente.

Los desarrolladores de SOE manejan el caso en el que no se puede encontrar un valor para la propiedad. Esto se hace estableciendo un valor predeterminado directamente dentro del código de SOE dentro de un bloque catch.

Solución o solución alternativa

Si el desarrollador de SOE crea una página de propiedades de ArcCatalog o Manager para la SOE, el administrador del servidor utiliza el asistente "Agregar nuevo servicio" para habilitar la SOE en el servicio. El asistente "Agregar nuevo servicio" muestra la página de propiedades y permite al administrador del servidor aplicar valores de propiedad válidos. Como alternativa, el administrador del servidor abre el cuadro de diálogo Propiedades del servicio después de crear el servicio y accede a la página de propiedades de SOE a través de la pestaña Funcionalidades.

Si no es necesaria ninguna página de propiedades, se debe incluir el código dentro de la SOE para tratar el caso donde no se establece la propiedad. Esto se logra dentro en el método Construir SOE, como en el siguiente ejemplo. En este ejemplo, una propiedad llamada MarkerLimit se establece en un valor predeterminado de 500 si no se encuentra ninguna propiedad en el archivo de configuración de servicios (el ejemplo está en C#):

Código: public void Construct(IPropertySet props) { configProps = props; try { string markerLimitString = props.GetProperty("MarkerLimit") as string; m_markerLimit = Convert.ToInt32(markerLimitString); } catch { logger.LogMessage(ServerLogger.msgType.warning, "Construct", 8000, "SOE custom error: No value or invalid value provided for MarkerLimit. Defaulting to a limit of 500."); m_markerLimit = 500; // Predeterminado si no se puede leer la propiedad } }

Id. de artículo:000011304

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Información relacionada

Descubrir más sobre este tema