Strategy ONE

Uso de un proxy para el servidor ESRI con un entorno local o basado en la nube

Puede haber circunstancias en las que desee o necesite utilizar un proxy para el servidor ESRI. Por ejemplo, puede que tenga tokens de seguridad que no desee que estén visibles en su servidor ESRI local. O puede que tenga solicitudes que superen el límite de longitud de los localizadores uniformes de recursos (URL) impuestos por el navegador. El uso de un proxy para el servidor ESRI evita el límite de longitud al realizar una solicitud POST en lugar de una solicitud GET. Las solicitudes POST no están limitadas por el máximo de 2048 caracteres porque la información se transfiere en el encabezado y no en la URL.

El proxy consta de un código del lado del servidor que se ejecuta en su servidor web. La aplicación web basada en navegador envía la solicitud al proxy (en su servidor web). A continuación, el proxy reenvía la solicitud al servidor ESRI y retransmite la respuesta del servidor ESRI a su aplicación.

Para utilizar un proxy para el servidor ESRI, siga los pasos de uno de los métodos que se indican a continuación. Puede usar el primer método para configurar un proxy con integración local o basada en la nube; el segundo método solo funciona para la integración local.

Para solucionar problemas, consulte KB484310: compatibilidad con la autenticación básica para el proxy de ESRI.

Uso de un proxy para el servidor ESRI con integración local o en la nube

Entorno J2EE

  1. Copiar esriproxy.jsp, ubicado debajo jsp que se encuentra en el directorio de instalación de MicroStrategy Web y péguelo en una ubicación accesible. Las instrucciones a continuación asumen que las ha guardado bajo la jsp en el complemento.

  2. En el directorio de instalación de MicroStrategy Web, abra WEB-INF/xml/proxy.xml. En el <serverUrls> nodo, añadir <serverUrl> nodos, indique todas las URL de los mapas para los que desea utilizar un proxy y guarde los cambios.

    Copiar
      <serverUrls>
        <serverUrl url="services.arcgisonline.com" matchAll="true" />
        <serverUrl url="sampleserver1.arcgisonline.com" matchAll="true" />
        <serverUrl url="www.arcgis.com" matchAll="true" />
        ...
        <serverUrl url="myserver.mycompany.com" matchAll="true"
      </serverUrls>

  3. Abrir mapConfig.xml en el complemento.

  4. En el <ec> nodo, añadir <proxyURLs> y <urlPrefixes> nodos. Esto le indica a la aplicación que use un proxy para las URL del mapa que agregó en <urlPrefixes>.

    Si el alwaysUse el atributo está establecido en "true", siempre se usa un proxy. Si el alwaysUse el atributo está establecido en "false" o no está, ESRI decide si utiliza o no un proxy.

    Si agrega un <urlPrefix> nodo, debe añadir un atributo de ID. Este atributo de ID debe ser único y no puede utilizar números enteros del 1 al 13.

    Copiar
    <mc>
      <ec>
        <proxyURLs>
          <proxyURL alwaysUse="true">../plugins/ConnectorForESRI/jsp/esriproxy.jsp</proxyURL>
        </proxyURLs>
        <urlPrefixes>
          <urlPrefix id="21">myserver.mycompany.com</urlPrefix>
          <urlPrefix id="22">services.arcgis.com</urlPrefix>
          <urlPrefix id="23">sampleserver1.arcgisonline.com</urlPrefix>
        </urlPrefixes>
        ...
      </ec>
    </mc>
  5. Guarde los cambios y reinicie el servidor de MicroStrategy Web.

Entorno .NET

  1. En el directorio de instalación de MicroStrategy Web, bajo la asp carpeta, copiar esriproxy.ashx, proxy.config y proxy.xsd. Péguelos en una ubicación accesible bajo la misma carpeta. Las instrucciones a continuación asumen que las ha guardado bajo la asp en el complemento.

  2. En el complemento, abra proxy.config. Añada las URL de los mapas para los que desee utilizar un proxy y guarde los cambios. En el <serverUrls> nodo, añadir <serverUrl> nodos, enumere todas las URL de los mapas para los que desea utilizar un proxy y guarde los cambios.

    Copiar
      <serverUrls>
        <serverUrl url="services.arcgisonline.com" matchAll="true" />
        <serverUrl url="sampleserver1.arcgisonline.com" matchAll="true" />
        <serverUrl url="www.arcgis.com" matchAll="true" />
        ...
        <serverUrl url="myserver.mycompany.com" matchAll="true"
      </serverUrls>
  3. En el complemento, abra mapConfig.xml.

  4. En el <ec> nodo, añadir <proxyURLs> y <urlPrefixes> nodos. Esto le indica a la aplicación que use un proxy para las URL del mapa que agregó en <urlPrefixes>.

    Si el alwaysUse el atributo está establecido en "true", siempre se usa un proxy. Si el alwaysUse el atributo está establecido en "false" o no está, ESRI decide si utiliza o no un proxy.

    Si agrega un <urlPrefix> nodo, debe añadir un atributo de ID. Este atributo de ID debe ser único y no puede utilizar números enteros del 1 al 13.

    Copiar
    <mc>
      <ec>
        <proxyURLs>
          <proxyURL alwaysUse="true">../plugins/ConnectorForESRI/asp/esriproxy.ashx</proxyURL>
        </proxyURLs>
        <urlPrefixes>
          <urlPrefix id="21">myserver.mycompany.com</urlPrefix>
          <urlPrefix id="22">services.arcgis.com</urlPrefix>
          <urlPrefix id="23">sampleserver1.arcgisonline.com</urlPrefix>
        </urlPrefixes>
        ...
      </ec>
    </mc>
  5. Guarde los cambios y reinicie el servidor de MicroStrategy Web.

  6. Reinicie el servidor de MicroStrategy Web.

Uso de un proxy para el servidor ESRI con integración local

Puede elegir el método anterior o el siguiente para la integración local.

Entorno J2EE

  1. En el directorio de instalación de MicroStrategy Web, bajo la jsp carpeta, copiar esriproxy.jsp y péguelo en una ubicación accesible. En las instrucciones siguientes se supone que ha guardado el archivo con la jsp en el complemento.

  2. En el directorio de instalación de MicroStrategy Web, abra WEB-INF/xml/proxy.xml. En el <serverUrls> nodo, añadir <serverUrl> nodos, enumerando todas las URL de los mapas para los que desea utilizar un proxy y guarde los cambios.

    Copiar
      <serverUrls>
        <serverUrl url="services.arcgisonline.com" matchAll="true" />
        <serverUrl url="sampleserver1.arcgisonline.com" matchAll="true" />
        <serverUrl url="www.arcgis.com" matchAll="true" />
        ...
        <serverUrl url="myserver.mycompany.com" matchAll="true"
      </serverUrls>

  3. Abrir mapConfig.xml en el complemento.

  4. En el archivo de configuración de ESRI, en la carpeta <bm> nodo, añada un proxyURL atributo. Esto le indica a la aplicación que use un proxy para este mapa base. En el <ec> nodo, añada un <urlPrefixes> para enumerar todas las URL de los mapas para los que desea utilizar un proxy.

    Copiar
    <mc>
      <ec>
        <bm key="default" proxyURL="../plugins/ConnectorForESRI/jsp/esriproxy.jsp">
          http://myserver.mycompany.com/ArcGIS/rest/services
        </bm>
        <urlPrefixes>
          <urlPrefix id="21">myserver.mycompany.com</urlPrefix>
          <urlPrefix id="22">the URLs to the maps you want to use a proxy for</urlPrefix>
          <urlPrefix id="23">services.arcgis.com</urlPrefix>
        </urlPrefixes>
        ...
      </ec>
    </mc>
  5. Guarde los cambios y reinicie el servidor de MicroStrategy Web.

Entorno .NET

  1. En el directorio de instalación de MicroStrategy Web, bajo la asp carpeta, copiar esriproxy.ashx, proxy.config y proxy.xsd. Péguelos en una ubicación accesible bajo la misma carpeta. Las instrucciones a continuación asumen que las ha guardado bajo la asp en el complemento.

  2. En el complemento, abra proxy.config. Añada las URL de los mapas para los que desee utilizar un proxy y guarde los cambios. En el <serverUrls> nodo, añadir <serverUrl> nodos, enumere todas las URL de los mapas para los que desea utilizar un proxy y guarde los cambios.

    Copiar
      <serverUrls>
        <serverUrl url="services.arcgisonline.com" matchAll="true" />
        <serverUrl url="sampleserver1.arcgisonline.com" matchAll="true" />
        <serverUrl url="www.arcgis.com" matchAll="true" />
        ...
        <serverUrl url="myserver.mycompany.com" matchAll="true"
      </serverUrls>
  3. En el complemento, abra mapConfig.xml.

  4. En el archivo de configuración de ESRI, en la carpeta <bm> nodo, añada un proxyURL atributo. Esto le indica a la aplicación que use un proxy para este mapa base. En el <ec> nodo, añada un <urlPrefixes> para enumerar todas las URL de los mapas para los que desea utilizar un proxy.

    Copiar
    <mc>
      <ec>
        <bm key="default" proxyURL="../plugins/ConnectorForESRI/asp/esriproxy.ashx">
          http://myserver.mycompany.com/ArcGIS/rest/services
        </bm>
        <urlPrefixes>
          <urlPrefix id="21">myserver.mycompany.com</urlPrefix>
          <urlPrefix id="22">the URLs to the maps you want to use a proxy for</urlPrefix>
          <urlPrefix id="23">services.arcgis.com</urlPrefix>
        </urlPrefixes>
        ...
      </ec>
    </mc>
  5. Guarde los cambios y reinicie el servidor de MicroStrategy Web.