Workflow automation remains a hot topic for our customers, some simply drop incoming files into a watchfolder and allow iCR to process the files to meet their output or delivery requirements in a transcode workflow, others drive iCR via VDCP to an ingestor tape playback workflow:
However recently I have noticed an increase in requests of how to achieve a GUI function via the APIs more and more customers investigate the benefits of the Web Service with a view to either develop a standalone application to drive their workflow or for better integration with their MAM. This blog introduces a tool to allow familiarization with the API either as a stepping stone to full API integration or as a test platform for debugging problems with existing Web Service integration.
Point a web browser at port 8080 on the iCR host, http://Machine Name:8080/, and you will be greeted with the iCR Web Service landing page detailing the available WSDLs, clicking on one of the three links will display that WSDL information in XML format. While this information will give you a better idea of the SOAP interface capabilities it will not allow you to start playing, for this you will need a SOAP client.
I have tried various clients and my preferred is SOAPUI, a free tool available for download from the internet. Connecting the application to the iCR WSDLs allows you to familiarize yourself with the API, its capabilities and send instructions to iCR.
Below are the steps required to connect the SOAPUI to iCR and get started…
Step 1:
Start by enabling Web Service mode in iCR, launch the GUI and ensure the ‘Web Service Control’ check box is enabled.
Step 2:
Next, install SOAPUI on a machine and point it to the WSDLs. Open the SOAPUI application and create a new Project.
Step 3:
Now populate your new project with the three WSDLs;
- http://hostname:8080/icr/ICRControl?WSDL
- http://hostname:8080/icr/Library?WSDL
- http://hostname:8080/icr/VTRControl?WSDL
SOAPUI will extract information from the iCR WSDL and create a structure for each of the available API calls for that WSDL, these will be available in the left hand pane of the SOAPUI tool.
Step 4:
Next, add the remaining WSDLs to the project by right clicking the project in the left panel, clicking ‘Add WSDL’ and pasting in the address in the WSDL Location field before clicking OK.
Step 5:
SOAPUI now has full access to the iCR Web Service interface and is ready to start playing. Expanding the three WSDL groups displays all available API commands in basic form, I say basic form because some of the API calls require parameters to be passed, for example atranscode request requires input file, transcode template and conversion name, below is an example transcode request;
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:con=”http://snellwilcox.com/xmlbinding/icr/2007/04/control”>
<soapenv:Header/>
<soapenv:Body>
<con:transcode>
<arg0><![CDATA[
<ns2:transcodeparameters xmlns:ns2=”http://www.amberfin.com/schema/TranscoderParameters”>
<ns2:inputs>
<ns2:input id=”SOURCE”>
<ns2:file name=”D:\Input\Test_input.mxf”>
</ns2:file>
</ns2:input>
</ns2:inputs>
<ns2:segments style=”in(inclusive),out(exclusive)”>
<ns2:segment id=”0″>
<ns2:input>SOURCE</ns2:input>
</ns2:segment>
</ns2:segments>
<ns2:output template=”Proxy” conversion=”H.264 Proxy”>
</ns2:output>
</ns2:transcodeparameters>
</arg0>
</con:transcode>
</soapenv:Body>
</soapenv:Envelope>
Further API call examples are available on request, please contact us or raise a ticket with the support team giving an overview of your workflow and specifics of the Web Service request you would like an example of, we will endeavour to provide you with the details.