Localización de un archivo adjunto mediante swaref

Utilice esta tarea para ubicar los archivos adjuntos de mensajes recuperando el URI de mensaje y eliminando cid: del inicio del valor recuperado.

Acerca de esta tarea

Cuando un mensaje de Web Services-Interoperability (WS-I) Attachments Profile Versión 1.0 utiliza una referencia SOAP con archivos adjuntos (swaref) para hacer referencia a un archivo adjunto, swaref podría hacer referencia a archivos adjuntos enlazados o no enlazados, y swaref podría hacer referencia a un solo archivo adjunto varias veces. Para permitirle localizar el archivo adjunto correcto, las tecnologías de integración de servicios almacenan el valor del URI que está codificado en el mensaje dentro del gráfico de datos SDO para el cuerpo del mensaje.

Cuando se almacena el valor de un elemento (o atributo) de tipo swaref en el gráfico de datos, las tecnologías de integración de servicios almacenan el URI completo de la instancia de mensaje. Por lo tanto, cuando recupere el URI, tendrá que eliminar cid: del inicio del valor recuperado para encontrar el ID de contenido del archivo adjunto referenciado.

Ejemplo

El ejemplo siguiente muestra cómo utilizar el valor de un elemento swaref para localizar el archivo adjunto correcto. Este ejemplo utiliza el WSDL RPC/Literal y el mensaje SOAP de la sección 4.4 de Web Services-Interoperability (WS-I) Attachments Profile Versión 1.0:

DataObject infoNode = graph.getRootObject().getDataObject("info");
String contentId = infoNode.getString("body/ClaimDetail/ClaimForm");

// Corte la parte "cid:" de la serie
contentId = contentId.substring(4);

// Localice el valor de la conexión
DataObject attachmentEntry =
    infoNode.getDataObject("attachments[contentId=" + contentId + "]");
byte[] data = attachmentEntry.getBytes("data");

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjw_attach_locate
File name: tjw_attach_locate.html