Utilisation du proxy AJAX dans des portlets

Voici comment utiliser le proxy AJAX dans des portlets.

La façon la plus simple de créer des URL de proxy dans un portlet est d'enregistrer le servlet du proxy AJAX dans le fichier web.xml du portlet. Ceci vous permet de créer l'URL de proxy de base à l'aide de l'API du portlet, alors que vous ajoutez l'URL cible en fonction du format d'URL indiqué dans la section relative. Le nom de classe du servlet du proxy est com.ibm.wps.proxy.servlet.ProxyServlet. Pour plus de détails, voir le fichier web.xml exemple.

Si vous voulez que le proxy puisse accéder à des ressources demandant une authentification, indiquez un autre mappage du servlet associé à une contrainte de sécurité. Dans cet exemple, seuls les utilisateurs authentifiés peuvent accéder à des URL de proxy correspondant au modèle d'URL /myproxy/*.
Remarque : Vous devez associer les rôles utilisateur que vous indiquez dans le fichier web.xml à ceux du serveur du portail. Pour ce faire, vous pouvez créer les mappages de rôles correspondants pour l'application respective dans la console WebSphere® Integrated Solutions Console.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" ...>
   ...
   <servlet>
      <servlet-name>ProxyServlet</servlet-name>
      <servlet-class>com.ibm.wps.proxy.servlet.ProxyServlet</servlet-class>
   </servlet>
   ...
   <servlet-mapping>
      <servlet-name>ProxyServlet</servlet-name>
      <url-pattern>/proxy/*</url-pattern>
   </servlet-mapping>
   <servlet-mapping>
      <servlet-name>ProxyServlet</servlet-name>
      <url-pattern>/myproxy/*</url-pattern>
   </servlet-mapping>
   ...
   <security-constraint id="SecurityConstraint_1">
      <web-resource-collection id="WebResourceCollection_1">
         <web-resource-name/>
         <url-pattern>/myproxy/*</url-pattern>
         <http-method>GET</http-method>
         <http-method>POST</http-method>
         <http-method>PUT</http-method>
         <http-method>HEAD</http-method>
      </web-resource-collection>
      <auth-constraint id="AuthConstraint_1">
         <description>only for authenticated</description>
         <role-name>All Role</role-name>
      </auth-constraint>
   </security-constraint>
   ...
   <security-role id="SecurityRole_1">
      <description>Everyone</description>
      <role-name>Everyone Role</role-name>
   </security-role>
   <security-role id="SecurityRole_2">
      <description>All authenticated users</description>
      <role-name>All Role</role-name>
   </security-role>
</web-app>
L'enregistrement du servlet du proxy dans le descripteur de déploiement Web d'un portlet n'implique pas que le portlet se base sur une configuration spécifique à l'application. Si aucun proxy-config.xml n'est fourni avec le portlet, le servlet de proxy utilise la configuration de proxy globale à la place. La seule contrainte à prendre en compte est que pour chaque mappage de servlet, un mappage de chemin de contexte correspondant doit exister dans la configuration du proxy. Il peut figurer dans la configuration globale ou dans celle spécifique à l'application. Pour des détails sur la façon de configurer le proxy AJAX, voir la section sur la configuration du proxy AJAX.