Execute a remote workflow

Use this resource to execute a remote workflow via an INUBIT IS connector.

Request

To execute a workflow remotely, send a POST request to the endpoint defined below.

URL: /ibis/rest/isconnector

Method: POST

Authorization: required

POST /ibis/rest/isconnector HTTP/1.1
Accept: multipart/x-www-form-urlencoded
Host: localhost:8080

Request Body

The following table lists the parameters for this request.

Name Description Required Allowed values

workflowName

Enter the name of the workflow.

yes

Any string

moduleName

Enter the name of the IS connector module.

yes

Any string

type

Specify the type of request.

yes

workflowExecute

inputMessageSize

Enter the number of input messages.

yes

1

inputMessages

Provide the serialized input message using XStream.

yes

Any string

variables

Provide the workflow variables in XML format.

yes

Any string

Request Body examples

inputMessages
Create input messages from the list of attachments (org.apache.cxf.jaxrs.ext.multipart.Attachment). Serialize the list with XStream (com.thoughtworks.xstream.XStream). The following code shows an example of an input message.

<?xml version='1.0' encoding='UTF-8'?>
<linked-list>
    <org.apache.cxf.jaxrs.ext.multipart.Attachment>
        <handler>
            <!-- This XML structure is built by the XStream library; this content is not always fixed. -->
            <dataSource class="org.apache.cxf.jaxrs.ext.multipart.InputStreamDataSource">
                <is class="java.io.ByteArrayInputStream">
                    <buf>dGVzdA==</buf>
                    <pos>0</pos>
                    <mark>0</mark>
                    <count>4</count>
                </is>
                <contentType>application/octet-stream</contentType>
            </dataSource>
            <transferFlavors/>
        </handler>
        <headers class="org.apache.cxf.jaxrs.impl.MetadataMap">
            <caseInsensitive>true</caseInsensitive>
            <readOnly>false</readOnly>
            <m class="linked-hash-map">
                <entry>
                    <string>Content-Disposition</string>
                    <list>
                        <string>attachment</string>
                    </list>
                </entry>
                <entry>
                    <string>Content-ID</string>
                    <list>
                        <string>responseMessage</string>
                    </list>
                </entry>
                <entry>
                    <string>Content-Type</string>
                    <list>
                        <string>application/octet-stream</string>
                    </list>
                </entry>
            </m>
        </headers>
    </org.apache.cxf.jaxrs.ext.multipart.Attachment>
</linked-list>

variables
The following code shows the workflow variable property in XML format.

<?xml version='1.0' encoding='UTF-8'?>
<Properties version="4.1">
    <Property name="ISFileSize">571</Property>
    <Property name="ISCurrentTime" type="Long">1719378732082</Property>
    <Property name="ISWorkflowName">DemoISConnector</Property>
    <Property name="ISModuleName">ISMedium</Property>
    <Property name="ISModuleId">7</Property>
    <Property name="ISProcessId">80001</Property>
    <Property name="ISServerName">server name</Property>
    <Property name="ISNodeName">172.17.0.1</Property>
    <Property name="ISGlobalProcessId">80001</Property>
</Properties>

Response

The response contains the result of the workflow execution.

HTTP/1.1 200 OK
Content-Type: multipart/form-data

<?xml version='1.0' encoding='UTF-8'?>
<linked-list>
    <org.apache.cxf.jaxrs.ext.multipart.Attachment>
        <handler>
            <!-- This XML structure is built by the XStream library; this content is not always fixed. -->
            <dataSource class="org.apache.cxf.jaxrs.ext.multipart.InputStreamDataSource">
                <is class="java.io.ByteArrayInputStream">
                    <buf>dGVzdA==</buf>
                    <pos>0</pos>
                    <mark>0</mark>
                    <count>4</count>
                </is>
                <contentType>application/octet-stream</contentType>
            </dataSource>
            <transferFlavors/>
        </handler>
        <headers class="org.apache.cxf.jaxrs.impl.MetadataMap">
            <caseInsensitive>true</caseInsensitive>
            <readOnly>false</readOnly>
            <m class="linked-hash-map">
                <entry>
                    <string>Content-Disposition</string>
                    <list>
                        <string>attachment</string>
                    </list>
                </entry>
                <entry>
                    <string>Content-ID</string>
                    <list>
                        <string>responseMessage</string>
                    </list>
                </entry>
                <entry>
                    <string>Content-Type</string>
                    <list>
                        <string>application/octet-stream</string>
                    </list>
                </entry>
            </m>
        </headers>
    </org.apache.cxf.jaxrs.ext.multipart.Attachment>
</linked-list>

Errors

This request might return one of the following error codes:

Authorization Failed (401)

Authorization with the given username and password failed. Please revisit both values and provide valid credentials.

<html>

    <head>
        <title>Status page</title>
    </head>

    <body style="font-family: sans-serif;">
        <p style="font-size: 1.2em;font-weight: bold;margin: 1em 0px;">Unauthorized</p>
        <p>The request requires user authentication</p>
        <p>You can get technical details <a
                href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">here</a>.<br>
            Please continue your visit at our <a href="/">home page</a>.
        </p>
    </body>
</html>
Server Error (500)

Execution on the INUBIT server failed. Have a look into the response message, otherwise access to the INUBIT log is required to retrieve further information.

Service Unavailable (503)

In maintenance mode the INUBIT server endpoint will not respond to incoming requests but return this error response. Once the maintenance mode is switched off the endpoint will respond normally.