Tuesday, December 23, 2008

Documentum BizTalk Adapter V0.1 (Using the Adapter to send Custom Type Documents)

In the previous post I showed how we can use the adapter to send files to Documentum to be stored as documents of type “dm_document”.

A more practical use for the adapter is to use the adapter to send files to be stored as custom type documents, to do so we need to create a schema that reflects the custom type definition, I employed the adapter metadata wizard, here is a walkthrough on how to use this functionality:

- create a new empty BizTalk project, right click the project in the solution explorer and click add generated item

- The add adapter wizard will open, in the first step select the Dynamic Documentum Adapter


- On the next step enter the credentials to connect to Documentum and choose the Docbase


- In the next step select the custom type you want to import its schema (here I have a custom type purchaseorder that has the following attributes: ponumber(string), supplier(string), podate(time), items(repeating string) )


- click the finish button and the wizard will import the schema of the custom type to your project


- if you examined the schema generated by the adapter, you will find four xml elements: the first one is DocumentumName which should contain the name of the document to be saved in Documentum, the second element DocumentExtension should contain the extension of the file to be uploaded to Documentum, the third element DocumentContent contains the file content in base64Binary format, the fourth element DocumentAttributes is a complex element with sub-elements that correspondences to the custom attributes of the custom type 


- To test the adapter I will pass an XML file that matches the schema above, I will set the DocumentContent to be a simple string represented in base64Binary and will upload it to Documentum as a text file(DocumentExtension=”.txt”), of course a better way to do this is to use a custom pipeline component to automatically convert the physical file to its base64Binary but I will leave this to another post

- In the orchestration file created by the add adapter metadata wizard add a receive port that receives xml files from a certain folder


- add another port to send to Documentum, when prompted for the adapter type choose the existing adapter type SubmitpurchaseorderPortType this port type correspondences to the schema described earlier, set the communication direction to send request and receive response, specify the binding later


- The response returned from the Documentum adapter contains the r_object_id on the new document sent to Documentum, I will take this response and send it to a specific folder using a simple FILE send adapter, so my orchestration will look like the following


- Deploy the orchestration and go to the BizTalk Admin Console to configure it, choose BizTalkServerApplication as a host, and for the outbound logical port “SendToDocumentumPort” choose to create a new send port


- In the new send port properties window, choose the BizTalkServerApplication as the send handler and the XMLTrasmit, XMLReceive for the send and the receive pipelines, configure the adapter and set the adapter specific information (Docbase, username, password, Document path, etc.)


- Now start the orchestration and try to place xml file with our schema in the receive folder, go to Documentum to the location you specified in the send adapter configuration you will find a new document of type purchaseorder there that has the Name, file type, content and attributes that is specified in the xml file

No comments: