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
- Inicie HCL Commerce Developer.
- Identifique la biblioteca de cliente a ampliar (por ejemplo, CommonOrderFacadeClient).
- 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).
- 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]);
}
}
}
}
- 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.
- 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.