Para habilitar un destino de cooperación:
En el ejemplo siguiente se muestra el método actionPerformed() de OrderDetailPortlet.java en la aplicación Cooperative Portlets de ejemplo de Sample Gallery (Galería de ejemplos). Este portlet acepta el parámetro ORDER_ID en su método actionPerformed(). Este parámetro corresponde a un parámetro de entrada del apartado de enlace (binding) del archivo WSDL del portlet (OrderDetailC2A.wsdl en este ejemplo).
... private static final String PREFIX = ""; public static final String ORDER_ID = PREFIX + "orderId"; public static final String TRACKING_ID = PREFIX + "trackingId"; ... public void actionPerformed (ActionEvent event) { // DefaultPortletAction action = (DefaultPortletAction) event.getAction(); String actionName = event.getActionString(); PortletRequest request = event.getRequest(); // Una acción hace que se modifique el estado ShippingUtils.setLastModified(request); if( getPortletLog().isDebugEnabled() ) { getPortletLog().debug("OrderDetailActionListener - Action called"); } if (actionName.equals(ORDER_DETAILS)) { request.getPortletSession().setAttribute(ACTION_NAME, ORDER_DETAILS); request.getPortletSession().setAttribute(ORDER_ID, request.getParameter(ORDER_ID)); // Esto se hace ya que el ID de seguimiento (tracking id) es un parámetro de salida del archivo C2A WSDL // El "tracking id" se escribe en la petición, de forma que puede ser publicado por parte del // intermediario en el mismo ciclo de suceso String orderId = (String) request.getPortletSession().getAttribute(ORDER_ID); OrderDetail od = ShippingDB.getOrderDetail(request.getParameter(ORDER_ID)); request.getPortletSession().setAttribute(ORDER_DETAIL, od); request.setAttribute(TRACKING_ID, od.getTrackingId()); } else if (actionName.equals(ORDER_ID_ENTRY)) { request.getPortletSession().setAttribute(ACTION_NAME, ORDER_ID_ENTRY); } } ...
La acción Habilitar destino de cooperación realiza automáticamente las tareas siguientes.
<servlet-class>com.ibm.wps.pb.wrapper.PortletWrapper</servlet-class> <init-param> <param-name>c2a-application-portlet-class</param-name> <param-value>clase de servlet</param-value> </init-param>
<config-param>
<param-name>c2a-action-descriptor</param-name>
<param-value>archivo WSDL</param-value>
</config-param>
<config-param>
<param-name>c2a-nls-file</param-name>
<param-value>nombre de paquete de recursos</param-value>
</config-param>
Conceptos relacionados
Desarrollo de portlets de cooperación
Tareas relacionadas
Habilitar cooperación para portlets existentes
Habilitación de orígenes de cooperación
Habilitación de destinos de cooperación sin una acción Faces
Inserción de encodeProperty Click-to-Action
Inserción de encodeProperties Click-to-Action
Edición de encodeProperty Click-to-Action
Edición de encodeProperties Click-to-Action
Referencia relacionada
Web
Services Description Language (WSDL) 1.1
Information Center de WebSphere Portal
Esquema XML Parte 2: Tipos de datos