PROBLEMA

As propriedades padrão da extensão de objeto do servidor (SOE) não são aplicadas

Last Published: January 4, 2021

Descrição

As propriedades padrão da extensão de objeto do servidor (SOE) não são aplicadas a um serviço no momento que a SOE é ativada.

Nota: Este artigo faz referência ao ArcGIS Server versão 10.0 e anterior. Versões posteriores do ArcGIS podem conter diferentes funcionalidades, bem como diferentes nomes e locais para menus, comandos e ferramentas de geoprocessamento.

Causa

As extensões de objeto do servidor (SOEs) expõem opcionalmente as propriedades definidas pelo administrador do servidor no momento que a SOE é habilitada em um serviço. As propriedades de SOE permitem alguma flexibilidade na maneira como uma SOE é implantada em diferentes serviços do mesmo tipo. Por exemplo, a SOE expõe uma propriedade que determina qual camada em um mapa a SOE usa para sua análise. Isso pode variar entre os serviços, portanto, é exposto como uma propriedade.

As propriedades de SOE devem ser definidas por meio de páginas de propriedades personalizadas escritas para ArcCatalog ou Manager pelo desenvolvedor SOE. Se nenhuma página de propriedade for desenvolvida ou se o administrador do servidor publicar o serviço com o assistente 'Publicar um recurso GIS' (que não mostra as páginas de propriedade), as propriedades padrão não serão definidas na SOE. Isso faz com que a SOE não funcione corretamente.

Os desenvolvedores SOE lidam com o caso onde um valor para a propriedade não pode ser encontrado. Isso é feito definindo um valor padrão diretamente no código SOE dentro de um bloco catch.

Solução ou Solução Provisória

Se o desenvolvedor SOE criar uma página de propriedades do ArcCatalog ou Manager para SOE, o administrador do servidor usará o assistente 'Adicionar novo serviço' para habilitar a SOE no serviço. O assistente 'Adicionar novo serviço' mostra a página de propriedades e permite que o administrador do servidor aplique valores de propriedade válidos. Alternativamente, o administrador do servidor abre a caixa de diálogo Propriedades do Serviço após criar o serviço e acessa a página de propriedades SOE pela guia Recursos.

Se nenhuma página de propriedade for necessária, o código deverá ser incluído na SOE para lidar com o caso onde a propriedade não está definida. Isso é realizado no método SOE Construct, como no exemplo a seguir. Neste exemplo, uma propriedade demonimada MarkerLimit é definida como padrão com um valor de 500 se nenhuma propriedade for encontrada no arquivo de configuração do serviço (o exemplo está em 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, "Erro de SOE personalizada: Nenhum valor ou valor inválido fornecido para MarkerLimit. padronizando para um limite de 500."); m_markerLimit = 500; // padrão se a propriedade não puder ser lida } }

ID do Artigo:000011304

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com suporte técnico

Baixe o Esri Support App

Ir para opções de download

Informações Relacionadas

Descubra mais sobre este tema