Índice

Search

  1. Prólogo
  2. Introducción a los servicios de entidad de negocio
  3. Llamadas del servicio de entidad de negocio de EJB
  4. Llamadas del servicio de entidad de negocio de REST
  5. API REST para Data Director
  6. Llamadas del servicio de entidad de negocio de SOAP
  7. Servicios de cálculos de BVT y registros de referencias cruzadas
  8. Compatibilidad del servicio de vinculación empresarial
  9. Llamadas externas para limpiar, analizar y transformar datos
  10. Apéndice A: Uso de las API de REST para añadir registros
  11. Apéndice B: Uso de las API de REST para cargar archivos
  12. Apéndice C: Uso de las API de REST para administrar informes

Guía de servicios de entidad de negocio

Guía de servicios de entidad de negocio

Ejemplo: realizar una llamada al marco de integración de servicios desde una llamada externa

Ejemplo: realizar una llamada al marco de integración de servicios desde una llamada externa

Por razones de seguridad, MDM no transfiere la información de la carga útil y la contraseña a una llamada externa. El ejemplo de BESExternalCallWithSIF muestra cómo llamar a un marco de integración de servicios (SIF) desde una llamada externa.
La llamada externa en este ejemplo realiza la siguiente validación personalizada:
  1. Comprueba si un número de teléfono en un registro de persona tiene caracteres especiales en el número de extensión del teléfono.
  2. Si el número de teléfono incluye caracteres especiales, lo corrige.
  3. Comprueba si solo un número de teléfono tiene el tipo PRI.
Una vez que la llamada externa completa la validación de que solo existe un número de teléfono con el tipo PRI, la llamada externa realiza una actualización utilizando la llamada SIF Put.

Requisitos previos

Configure un usuario de la aplicación para llamadas del servicio externo a MDM Hub. Este ejemplo utiliza e360 como usuario de la aplicación. Reemplace este usuario de la aplicación con el usuario que configuró. Para obtener más información, consulte la
Guía de seguridad de Multidomain MDM
.

Hacer una llamada SIF desde una llamada externa

  1. Cree e implemente el archivo bes-external-call.ear.
  2. En la herramienta de aprovisionamiento, registre el servicio web como un servicio de SOAP.
    La siguiente tabla describe las propiedades avanzadas que puede configurar para el servicio de SOAP:
    Propiedad
    Valor de ejemplo
    Nombre
    besexternal
    URL
    https://<host>:<puerto>/bes-external-call/CustomLogicService?wsdl
  3. En la herramienta de aprovisionamiento, registre la llamada externa.
    La siguiente tabla describe las propiedades que puede configurar para la llamada externa:
    Propiedad
    Valor de ejemplo
    Operación SOAP
    validate
    Entidad de negocio
    Persona
    Fase de servicio
    WriteCO.BeforeValidate
    • Operación: validar
    • Entidad de negocio: persona
    • Fases del servicio: WriteCO.BeforeValidate
  4. Cree un registro de persona con un número de teléfono que tenga caracteres especiales en el número de extensión.
    La siguiente solicitud POST de ejemplo incluye los caracteres especiales @ en la extensión del número de teléfono:
    POST /cmx/cs/<ors>/Person?systemName=Admin { "firstName": "John", "TelephoneNumbers": { "item": [ { "phoneExtNum": "e@1", "phoneNum": "1234567", "phoneTypeCd":{ "phoneType":"PRI" } } ] } }
    La siguiente respuesta muestra el error de validación:
    <?xml version="1.0" encoding="UTF-8"?> <ns1:CsFault xmlns:ns1="urn:cs-base.informatica.mdm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns1:errorMessage>SIP-50022: Validation failed.</ns1:errorMessage> <ns1:errorCode>SIP-50022</ns1:errorCode> <ns1:details xsi:type="ns1:ValidationErrors"> <ns1:error> <ns1:code>CUSTOM-00001</ns1:code> <ns1:message>The Phone Ext Number has special symbols.</ns1:message> <ns1:field>Person.TelephoneNumbers.phoneExtNum</ns1:field> </ns1:error> </ns1:details> </ns1:CsFault>
    El siguiente ejemplo es una solicitud POST válida que no genera un error de validación:
    POST /cmx/cs/<ors>/Person?systemName=Admin { "firstName": "John", "TelephoneNumbers": { "item": [ { "phoneExtNum": "e1", "phoneNum": "1234567", "phoneTypeCd":{ "phoneType":"PRI" } } ] } }
  5. Cree un registro de persona con un número de teléfono que incluya una letra, como o.
    Cuando se ejecuta la solicitud POST, el número 0 reemplaza a la letra o.
    La siguiente solicitud POST de ejemplo incluye un número de teléfono con la letra o:
    POST /cmx/cs/<ors>/Person?systemName=Admin { "firstName": "John", "TelephoneNumbers": { "item": [ { "phoneExtNum": "e1", "phoneNum": "123o4567", "phoneTypeCd":{ "phoneType":"PRI" } } ] } }
  6. Considere los siguientes escenarios que demuestran cómo se establece el valor del tipo de teléfono en función de si una solicitud POST incluye uno o varios registros telefónicos:
    • Escenario 1. Este escenario incluye dos solicitudes POST que crean un registro telefónico cada una. La siguiente solicitud POST crea el primer registro telefónico con el tipo de teléfono de PRI:
      POST /cmx/cs/<ors>/Person?systemName=Admin { "firstName": "John", "TelephoneNumbers": { "item": [ { "phoneExtNum": "e1", "phoneNum": "12304567", "phoneTypeCd":{ "phoneType":"PRI" } } ] } }
      Cuando se ejecuta la siguiente solicitud de publicación para crear el segundo registro telefónico, el tipo de teléfono se establece en PRI para el segundo registro telefónico y el tipo de teléfono de la primera solicitud de publicación se cambia a OTH.
      POST /cmx/cs/<ors>/Person/rowidObject?systemName=Admin { "TelephoneNumbers": { "item": [ { "phoneExtNum": "e2", "phoneNum": "23045678", "phoneTypeCd":{ "phoneType":"PRI" } } ] } }
    • Escenario 2. Este escenario incluye una solicitud POST que crea dos registros telefónicos. La siguiente solicitud POST de ejemplo incluye dos registros telefónicos con el tipo de teléfono de PRI:
      POST /cmx/cs/<ors>/Person?systemName=Admin { "firstName": "John", "TelephoneNumbers": { "item": [ { "phoneExtNum": "e1", "phoneNum": "12304567", "phoneTypeCd":{ "phoneType":"PRI" } }, { "phoneExtNum": "e2", "phoneNum": "23045678", "phoneTypeCd":{ "phoneType":"PRI" } } ] } }
      Cuando se ejecuta esta solicitud POST, el tipo de teléfono para el primer registro telefónico se establece en PRI. Para el segundo registro telefónico, el tipo de teléfono se establece en OTH.