Ampliar la biblioteca de cliente

Puede ampliar una biblioteca de cliente existente para añadir más datos a la petición de servicio actual, manejar datos nuevos en una respuesta de servicio o añadir comportamiento nuevo, construyendo una petición de servicio completamente nueva.

Procedimiento

  1. Inicie HCL Commerce Developer.
  2. Identifique la biblioteca de cliente a ampliar (por ejemplo, CommonOrderFacadeClient).
  3. Identifique el comportamiento de la biblioteca de cliente que desea añadir o cambiar (por ejemplo, añadir datos adicionales al elemento UserData del nombre Order).
    1. Si la ampliación incluye la adición de más datos, identifique el método build NombreObjeto() adecuado que se va a alterar temporalmente para añadir más datos. Amplíe la clase y altere temporalmente este método. Por ejemplo, si añadiera datos de grabado a un conjunto de artículos de pedido, añadiría el código siguiente en el método buildOrderItem():
      
      protected OrderItemType[] buildOrderItem(Map parameters, String
      actionName) throws OrderException 
      
      
      {
      //Snippet below
      for (int i=0; i<orderItems.length; i++) //for all of the order
      items
      {
              OrderItemType orderItem = orderItems[i]; //get a particular
      order item
              //prepare the userData section
              UserDataType userData = orderItem.getUserData();
              if (userData == null)
              {
                      userData =
      CommerceFoundationFactory.eINSTANCE.createUserDataType();
              }
              orderItem.setUserData(userData);
              Map userDataFields  = userData.getUserDataField();
      
              //iterate through all the engraving parameters
              Set keys = parameters.keySet();
              Iterator it = keys.iterator();
              while (it.hasNext())
              {
                      String keyName = (String)it.next();
                      if (keyName.startsWith(ENGRAVINGKEYNAME))//if it is
      an engraving attribute
                      {
                              String[] values =
      (String[])parameters.get(keyName);
                              //create a new name, value pair type
                              userDataFields.put(keyName,values[i]);
                      }
              }
      }
      }
      
    2. Si la ampliación incluye la adición de nuevo comportamiento, amplíe la biblioteca de cliente y añada un método para construir una nueva petición de Objeto de datos de servicio que represente el nuevo comportamiento.
  4. Configure la infraestructura de presentación para registrar su biblioteca de cliente ampliada, para permitir a la capa de presentación utilizar la biblioteca ampliada en lugar de la predeterminada.