Creación de clientes de servicio web JAX-RPC en HCL Commerce Developer

Puede crear un cliente de servicio web JAX-RPC con HCL Commerce con las siguientes tareas de alto nivel: Cree un proyecto EJB nuevo y un bean de sesión, genere el código de proxy de cliente de servicio web en el proyecto, personalice el bean para realizar las solicitudes de servicio web y cree una clase de asistente para simplificar la llamada al nuevo bean de sesión.

Procedimiento

  1. Inicie HCL Commerce Developer.
  2. Cree el proyecto EJB y el proxy del cliente:
    1. Pulse con el botón derecho en WSDL > Servicios web > Generar cliente.
    2. Pulse Siguiente y acepte el valor predeterminado.
    3. En Selección de entorno del lado del cliente, cambie el tipo de cliente por EJB, especifique el nombre del proyecto EJB y asegúrese de que WC está seleccionado como proyecto EAR.
    4. Pulse Finalizar.
  3. Modifique el bean de sesión predeterminado para llamar al servicio web:
    1. Modifique la interfaz de DefaultSession para ampliar la interfaz de servicio web que ha generado. Es decir, la interfaz PortType.
    2. Cree una nueva clase que implemente la interfaz de servicio web generada.
      Por ejemplo:
      
      public SOAPElement startTransaction(InitialRequest initialRequest) throws RemoteException, ValidationErrorFault {
      		UsPortType service = new UsPortTypeProxy();
      		return service.startTransaction(initialRequest);		
      }
      
    3. Modifique la clase de bean para ampliar la clase recién creada.
  4. Cree una clase de asistente para simplificar la llamada al bean de sesión:
    1. Cree una nueva clase en ExtensionsLogic.
    2. Añada un método de asistente que simplifique la llamada al bean de sesión.
      Por ejemplo:
      
      private DefaultSession getClient() {
      	try {
      		Context ctx = new InitialContext();
      		DefaultSessionHome = (DefaultSessionHome) ctx.lookup("ejb/ejbs/DefaultSessionHome");
      		DefaultSession service = home.create();
      		return service;
      	} catch (Exception e) {
      		e.printStackTrace();
      	}
      	return null;
      }
      
    HCL Commerce los mandatos pueden crear la clase de asistente anterior y llamar a getClient().serviceName(). Los valores de seguridad se pueden especificar en el descriptor de despliegue del proyecto EJB que contiene el nuevo bean de sesión.