GENEXPORTAXML

Resumen

¿Donde se pone el servicio en el formulario? 

En En Salidas - GenDatos

¿Que función tiene?

Es el servicio que se utiliza para consumir WS que publica Nodum o un tercero. 

La función de este servicio es armar el xml que hay que enviar de acuerdo a la especificación que tenemos de quien publica el WS. El que publica el WS nos entrega un wsdl que el consultor debe interpretar y lograr reproducir el mensaje xml con este servicio. Se sugiere utilizar el programa soapUI para que es un programa en donde se ingresa el wsdl y devuelve como es la estructura del xml a enviar.

Cuando se crea la salida para este servicio, en la sección Formatos se debe seleccionar la opción xml_utf8.

Parámetros

  • CindicionEje

Idem parámetro Condicion del servicio EjeConsumeWS

  • SQL

Idem parámetro SQL del servicio EjeConsumeWS

  • NameSpaces

Los namespaces y prefijos se deben entender juntos. Un prefijo y el namespace asociado agrupan elementos en el xml y es utilizado para evitar la ambigüedad cuando se tiene el mismo nombre de elemento en distintos lugares del xml (en distintos niveles).  Se identifican en el xml de la siguiente forma prefijo:namespace

En el ejemplo 2 del anexo 1 se pueden ver dos prefijos con sus dos namespaces asociados: el prefijo “ser” con el namespace http://www.megapharma.com/dynamicsax/services y el prefijo “bul” con el namespace http://schemas.microsoft.com/dynamics/2008/01/documents/BulkDataProcess_MPH.

Para cada nivel del xml, se debe definir el prefijo y namespace al que se asocia. Si el mismo namespace se repite para todos los niveles, solo es necesario definirlo una sola vez en el primer nivel que lo contiene y el servicio supone que se hereda el mismo namespace en los demás niveles asociados.

En el ejemplo 1 del anexo 1, hay un único prefijo y namespace, gci y GCI_3.0, por ende, se define una sola vez y los demás niveles anidados lo heredan.

En algunos casos los elementos del xml pueden no tener namespace asociado, es decir, no tienen un prefijo que indique cuál es su namespace. Los elementos en esta situación utilizan el namespace por defecto, el cual se distingue del resto por no tener prefijo y tener un formato del tipo “xmnls=(namespace por defecto)”.

En resumen, cada elemento del xml tiene un prefijo previo que indica cuál es su namespace. Si no tiene prefijo, es porque su namespace es el namespace por defecto.

No obstante, existen casos en que un elemento queda huérfano, es decir, sin namespace asociado. Para que el servicio no incluye namespaces en niveles que nosotros queramos, se define en el namespace del nivel, el valor "NULL" (ìncluye minúsculas, ver imágen adjunta para los parámetros de entrada). Sólo se quita el namespace en el nivel, si el mismo no tiene prefijo definido. Esto es, para justamente no perder el caso de que quieran tener namespace con el valor "NULL" (poco probable).

  • Obligatorios

Idem parámetro Obligatorios del servicio EjeConsumeWS

  • TipoDato:

Idem parámetro TipoDato del servicio EjeConsumeWS

  • Atributos:

Idem parámetro Atributos del servicio EjeConsumeWS

  • FormatoFecha:

Idem parámetro FormatoFecha del servicio EjeConsumeWS

  • Visibles:

Idem parámetro Visibles del servicio EjeConsumeWS

  • NivelesConValor:

Idem parámetro NivelesConValor del servicio EjeConsumeWS