<?xml version="1.0" ?>
<definitions name="CybozuWorkflowServices"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             targetNamespace="http://wsdl.cybozu.co.jp/workflow/2008"
             xmlns:typens="http://wsdl.cybozu.co.jp/workflow/2008/types"
             xmlns:tns="http://wsdl.cybozu.co.jp/workflow/2008"
             xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
             xmlns:base_services="http://wsdl.cybozu.co.jp/base/2008">

  <wsdl:import namespace="http://wsdl.cybozu.co.jp/base/2008" location="base.wsdl"/>

  <types>
    <xsd:schema targetNamespace="http://wsdl.cybozu.co.jp/workflow/2008/types"
                xmlns="http://www.w3.org/2001/XMLSchema"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns:base="http://schemas.cybozu.co.jp/base/2008"
                xmlns:workflow="http://schemas.cybozu.co.jp/workflow/2008"
                xmlns:base_types="http://wsdl.cybozu.co.jp/base/2008/types">

      <xsd:import namespace="http://schemas.cybozu.co.jp/base/2008"
                  schemaLocation="base.xsd" />
      <xsd:import namespace="http://schemas.cybozu.co.jp/workflow/2008"
                  schemaLocation="workflow.xsd" />
      <xsd:import namespace="http://wsdl.cybozu.co.jp/base/2008/types" />

      <xsd:simpleType name="WorkflowFolderType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="unprocessed" />
          <xsd:enumeration value="sent" />
          <xsd:enumeration value="received" />
          <xsd:enumeration value="draft" />
          <xsd:enumeration value="finish" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="WorkflowStatusType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="unprocessing" />
          <xsd:enumeration value="inprogress" />
          <xsd:enumeration value="sent_back" />
          <xsd:enumeration value="approved" />
          <xsd:enumeration value="rejected" />
          <xsd:enumeration value="withdrawn" />
          <xsd:enumeration value="cancelled" />
          <xsd:enumeration value="completed" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="WorkflowApplicationType">
        <xsd:complexContent>
          <xsd:extension base="workflow:ApplicationType">
            <xsd:sequence>
              <xsd:element name="folder_type" type="typens:WorkflowFolderType"
                           minOccurs="0" maxOccurs="unbounded" />
            </xsd:sequence>
            <xsd:attribute name="status_type" type="typens:WorkflowStatusType" use="required" />                           
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

       <xsd:simpleType name="WorkflowGetManageRequestFilter">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="All" />
          <xsd:enumeration value="In progress" />
          <xsd:enumeration value="Approved" />
          <xsd:enumeration value="Rejected" />
          <xsd:enumeration value="Cancel" />
          <xsd:enumeration value="Complete" />
        </xsd:restriction>
      </xsd:simpleType>
      
      <xsd:complexType name="WorkflowAvailabilityUserType">
        <xsd:attribute name="id" type="base:IDType" use="required" />
        <xsd:attribute name="workflow" type="xsd:boolean" use="required" />
      </xsd:complexType>
      
       <xsd:complexType name="WorkflowGetRequestType">
        <xsd:attribute name="request_form_id" type="base:IDType" use="required" />
        <xsd:attribute name="filter" type="typens:WorkflowGetManageRequestFilter" use="optional" />
        <xsd:attribute name="start_request_date" type="xsd:dateTime" use="optional" />
        <xsd:attribute name="end_request_date" type="xsd:dateTime" use="optional" />
        <xsd:attribute name="start_approval_date" type="xsd:dateTime" use="optional" />
        <xsd:attribute name="end_approval_date" type="xsd:dateTime" use="optional" />
        <xsd:attribute name="applicant" type="base:IDType" use="optional" />
        <xsd:attribute name="last_approval" type="base:IDType" use="optional" />
        <xsd:attribute name="start_to_get_information_from" type="base:IDType" use="optional" />
        <xsd:attribute name="maximum_request_amount_to_get" type="xsd:string" use="optional" />
        <xsd:anyAttribute processContents="lax" />
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetAttachedFileBodyType">
        <xsd:attribute name="request_form_id" type="base:IDType" use="required" />
        <xsd:attribute name="file_id" type="base:IDType" use="required" />
        <xsd:anyAttribute processContents="lax" />
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetUnprocessedApplicationVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="application_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetUnprocessedApplicationVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="application_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetUnprocessedApplicationsByIdRequestType">
        <xsd:sequence>
          <xsd:element name="application_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetUnprocessedApplicationsByIdResponseType">
        <xsd:sequence>
          <xsd:element name="application" type="typens:WorkflowApplicationType"
                       minOccurs="0" maxOccurs="unbounded" />
          </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetSentApplicationVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="application_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="start" type="xsd:dateTime" use="required" />
        <xsd:attribute name="end" type="xsd:dateTime" use="optional" />
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetSentApplicationVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="application_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetSentApplicationsByIdRequestType">
        <xsd:sequence>
          <xsd:element name="application_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetSentApplicationsByIdResponseType">
        <xsd:sequence>
          <xsd:element name="application" type="typens:WorkflowApplicationType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetReceivedApplicationVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="application_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="start" type="xsd:dateTime" use="required" />
        <xsd:attribute name="end" type="xsd:dateTime" use="optional" />
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetReceivedApplicationVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="application_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetReceivedApplicationsByIdRequestType">
        <xsd:sequence>
          <xsd:element name="application_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetReceivedApplicationsByIdResponseType">
        <xsd:sequence>
          <xsd:element name="application" type="typens:WorkflowApplicationType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetApprovalDelegatorsRequestType">
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetApprovalDelegatorsResponseType">
        <xsd:sequence>
          <xsd:element name="delegator_id" type="base:IDType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetProxyApprovalsByDelegatorIdRequestType">
        <xsd:attribute name="delegator_id" type="base:IDType" use="required" />
        <xsd:attribute name="start" type="xsd:dateTime" use="required" />
        <xsd:attribute name="end" type="xsd:dateTime" use="optional" />
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetProxyApprovalsByDelegatorIdResponseType">
        <xsd:sequence>
          <xsd:element name="application" type="typens:WorkflowApplicationType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetPendingApprovalsRequestType">
        <xsd:attribute name="start" type="xsd:dateTime" use="required" />
        <xsd:attribute name="end" type="xsd:dateTime" use="optional" />
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetPendingApprovalsResponseType">
        <xsd:sequence>
          <xsd:element name="application" type="typens:WorkflowApplicationType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowHandleApplicationOperationType">
        <xsd:sequence>
          <xsd:element name="operation" type="workflow:OperationType"
                       minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
        <xsd:attribute name="application_id" type="base:IDType" use="required" />
        <xsd:attribute name="delegator_id" type="base:IDType" use="optional" />
        <xsd:attribute name="comment" type="xsd:string" use="optional" />
      </xsd:complexType>
      <xsd:complexType name="WorkflowHandleApplicationsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="handle" type="typens:WorkflowHandleApplicationOperationType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="WorkflowHandleApplicationsResponseType">
        <xsd:sequence>
          <xsd:element name="application" type="typens:WorkflowApplicationType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetProxiesRequestType">
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetProxiesResponseType">
        <xsd:sequence>
          <xsd:element ref="workflow:proxies" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowSetProxiesRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element ref="workflow:proxies" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="WorkflowSetProxiesResponseType">
        <xsd:sequence>
          <xsd:element ref="workflow:proxies" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="WorkflowGetProfilesRequestType">
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetProfilesResponseType">
        <xsd:attribute name="use_pending_approvals" type="xsd:boolean" use="required" />
        <xsd:attribute name="use_proxy_approvals" type="xsd:boolean" use="required" />
        <xsd:attribute name="modify_proxies" type="xsd:boolean" use="required" />
      </xsd:complexType>

      <xsd:complexType name="WorkflowFileDownloadRequestType">
        <xsd:attribute name="file_id" type="base:IDType" use="required" />
      </xsd:complexType>
      <xsd:complexType name="WorkflowFileDownloadResponseType">
        <xsd:sequence>
          <xsd:element name="file" type="base_types:FileBodyType"
                       minOccurs="0" maxOccurs="1" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetRequestsRequestType">
        <xsd:sequence>
          <xsd:element name="manage_request_parameter" type="typens:WorkflowGetRequestType"
                       minOccurs="0" maxOccurs="1" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetRequestsResponseType">
       <xsd:sequence>
          <xsd:element name="category" type="workflow:RequestManageFormType"
                       minOccurs="0" maxOccurs="unbounded" />
       </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetRequestByIdRequestType">
          <xsd:sequence>
            <xsd:element name="request_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetRequestByIdResponseType">
       <xsd:sequence>
          <xsd:element name="application" type="typens:WorkflowApplicationType"
                       minOccurs="0" maxOccurs="unbounded" />
       </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetAvailabilityUsersRequestType">
        <xsd:sequence>
            <xsd:element name="user_id" type="base:IDType"
                         minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="WorkflowGetAvailabilityUsersResponseType">
        <xsd:sequence>
            <xsd:element name="user" type="typens:WorkflowAvailabilityUserType"
                         minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetAttachedFileBodyRequestType">
        <xsd:sequence>
            <xsd:element name="parameter" type="typens:WorkflowGetAttachedFileBodyType"
                         minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetAttachedFileBodyResponseType">
        <xsd:sequence>
            <xsd:element name="attachment_details" type="workflow:FileAttachedDetail"
                         minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetListCategoryRequestType">
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetListCategoryResponseType">
        <xsd:sequence>
            <xsd:element name="root" type="workflow:CategoriesType"
                         minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
       <xsd:complexType name="WorkflowGetRequestFormByCategoryIdsRequestType">
        <xsd:sequence>
            <xsd:element name="category_id" type="base:IDType"
                         minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="WorkflowGetRequestFormByCategoryIdsResponseType">
        <xsd:sequence>
            <xsd:element name="category" type="workflow:RequestFormType"
                         minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
    </xsd:schema>
  </types>

  <message name="WorkflowGetUnprocessedApplicationVersionsRequest">
    <part name="parameters" type="typens:WorkflowGetUnprocessedApplicationVersionsRequestType" />
  </message>
  <message name="WorkflowGetUnprocessedApplicationVersionsResponse">
    <part name="returns" type="typens:WorkflowGetUnprocessedApplicationVersionsResponseType" />
  </message>

  <message name="WorkflowGetUnprocessedApplicationsByIdRequest">
    <part name="parameters" type="typens:WorkflowGetUnprocessedApplicationsByIdRequestType" />
  </message>
  <message name="WorkflowGetUnprocessedApplicationsByIdResponse">
    <part name="returns" type="typens:WorkflowGetUnprocessedApplicationsByIdResponseType" />
  </message>

  <message name="WorkflowGetSentApplicationVersionsRequest">
    <part name="parameters" type="typens:WorkflowGetSentApplicationVersionsRequestType" />
  </message>
  <message name="WorkflowGetSentApplicationVersionsResponse">
    <part name="returns" type="typens:WorkflowGetSentApplicationVersionsResponseType" />
  </message>

  <message name="WorkflowGetSentApplicationsByIdRequest">
    <part name="parameters" type="typens:WorkflowGetSentApplicationsByIdRequestType" />
  </message>
  <message name="WorkflowGetSentApplicationsByIdResponse">
    <part name="returns" type="typens:WorkflowGetSentApplicationsByIdResponseType" />
  </message>

  <message name="WorkflowGetReceivedApplicationVersionsRequest">
    <part name="parameters" type="typens:WorkflowGetReceivedApplicationVersionsRequestType" />
  </message>
  <message name="WorkflowGetReceivedApplicationVersionsResponse">
    <part name="returns" type="typens:WorkflowGetReceivedApplicationVersionsResponseType" />
  </message>

  <message name="WorkflowGetReceivedApplicationsByIdRequest">
    <part name="parameters" type="typens:WorkflowGetReceivedApplicationsByIdRequestType" />
  </message>
  <message name="WorkflowGetReceivedApplicationsByIdResponse">
    <part name="returns" type="typens:WorkflowGetReceivedApplicationsByIdResponseType" />
  </message>

  <message name="WorkflowGetApprovalDelegatorsRequest">
    <part name="parameters" type="typens:WorkflowGetApprovalDelegatorsRequestType" />
  </message>
  <message name="WorkflowGetApprovalDelegatorsResponse">
    <part name="returns" type="typens:WorkflowGetApprovalDelegatorsResponseType" />
  </message>

  <message name="WorkflowGetProxyApprovalsByDelegatorIdRequest">
    <part name="parameters" type="typens:WorkflowGetProxyApprovalsByDelegatorIdRequestType" />
  </message>
  <message name="WorkflowGetProxyApprovalsByDelegatorIdResponse">
    <part name="returns" type="typens:WorkflowGetProxyApprovalsByDelegatorIdResponseType" />
  </message>

  <message name="WorkflowGetPendingApprovalsRequest">
    <part name="parameters" type="typens:WorkflowGetPendingApprovalsRequestType" />
  </message>
  <message name="WorkflowGetPendingApprovalsResponse">
    <part name="returns" type="typens:WorkflowGetPendingApprovalsResponseType" />
  </message>

  <message name="WorkflowHandleApplicationsRequest">
    <part name="parameters" type="typens:WorkflowHandleApplicationsRequestType" />
  </message>
  <message name="WorkflowHandleApplicationsResponse">
    <part name="returns" type="typens:WorkflowHandleApplicationsResponseType" />
  </message>

  <message name="WorkflowGetProxiesRequest">
    <part name="parameters" type="typens:WorkflowGetProxiesRequestType" />
  </message>
  <message name="WorkflowGetProxiesResponse">
    <part name="returns" type="typens:WorkflowGetProxiesResponseType" />
  </message>

  <message name="WorkflowSetProxiesRequest">
    <part name="parameters" type="typens:WorkflowSetProxiesRequestType" />
  </message>
  <message name="WorkflowSetProxiesResponse">
    <part name="returns" type="typens:WorkflowSetProxiesResponseType" />
  </message>

  <message name="WorkflowGetProfilesRequest">
    <part name="parameters" type="typens:WorkflowGetProfilesRequestType" />
  </message>
  <message name="WorkflowGetProfilesResponse">
    <part name="returns" type="typens:WorkflowGetProfilesResponseType" />
  </message>

  <message name="WorkflowFileDownloadRequest">
    <part name="parameters" type="typens:WorkflowFileDownloadRequestType" />
  </message>
  <message name="WorkflowFileDownloadResponse">
    <part name="returns" type="typens:WorkflowFileDownloadResponseType" />
  </message>

  <message name="WorkflowGetRequestsRequest">
    <part name="parameters" type="typens:WorkflowGetRequestsRequestType" />
  </message>
  <message name="WorkflowGetRequestsResponse">
    <part name="return" type="typens:WorkflowGetRequestsResponseType" />
  </message>

  <message name="WorkflowGetRequestByIdRequest">
    <part name="parameters" type="typens:WorkflowGetRequestByIdRequestType" />
  </message>
  <message name="WorkflowGetRequestByIdResponse">
    <part name="returns" type="typens:WorkflowGetRequestByIdResponseType" />
  </message>
  
  <message name="WorkflowGetAvailabilityUsersRequest">
    <part name="parameters" type="typens:WorkflowGetAvailabilityUsersRequestType" />
  </message>
  <message name="WorkflowGetAvailabilityUsersResponse">
    <part name="returns" type="typens:WorkflowGetAvailabilityUsersResponseType" />
  </message>
  
  <message name="WorkflowGetAttachedFileBodyRequest">
    <part name="parameters" type="typens:WorkflowGetAttachedFileBodyRequestType" />
  </message>
  <message name="WorkflowGetAttachedFileBodyResponse">
    <part name="returns" type="typens:WorkflowGetListCategoryResponseType" />
  </message>
  
  <message name="WorkflowGetCategoriesRequest">
    <part name="parameters" type="typens:WorkflowGetListCategoryRequestType" />
  </message>
  <message name="WorkflowGetCategoriesResponse">
    <part name="returns" type="typens:WorkflowGetListCategoryResponseType" />
  </message>
  
  <message name="WorkflowGetRequestFormByCategoryIdsRequest">
    <part name="parameters" type="typens:WorkflowGetRequestFormByCategoryIdsRequestType" />
  </message>
  <message name="WorkflowGetRequestFormByCategoryIdsResponse">
    <part name="returns" type="typens:WorkflowGetRequestFormByCategoryIdsResponseType" />
  </message>
  
  
  <portType name="WorkflowPort">

    <operation name="WorkflowGetUnprocessedApplicationVersions">
      <documentation>
        This API gets the modified unprocessed workflow applications.
        "application_item" is a list of workflow applications that a client has.
      </documentation>
      <input message="tns:WorkflowGetUnprocessedApplicationVersionsRequest" />
      <output message="tns:WorkflowGetUnprocessedApplicationVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetUnprocessedApplicationsById">
      <documentation>
        This API gets the unprocessed workflow applications by application id.
        The client sends list of "application_id" for specify the application to search.
      </documentation>
      <input message="tns:WorkflowGetUnprocessedApplicationsByIdRequest" />
      <output message="tns:WorkflowGetUnprocessedApplicationsByIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetSentApplicationVersions">
      <documentation>
        This API gets the modified sent workflow applications.
        "application_item" is a list of workflow applications that a client has.
      </documentation>
      <input message="tns:WorkflowGetSentApplicationVersionsRequest" />
      <output message="tns:WorkflowGetSentApplicationVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetSentApplicationsById">
      <documentation>
        This API gets the sent workflow applications by application id.
        The client sends list of "application_id" for specify the application to search.
      </documentation>
      <input message="tns:WorkflowGetSentApplicationsByIdRequest" />
      <output message="tns:WorkflowGetSentApplicationsByIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetReceivedApplicationVersions">
      <documentation>
        This API gets the modified received workflow applications.
        "application_item" is a list of workflow applications that a client has.
      </documentation>
      <input message="tns:WorkflowGetReceivedApplicationVersionsRequest" />
      <output message="tns:WorkflowGetReceivedApplicationVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetReceivedApplicationsById">
      <documentation>
        This API gets the received workflow applications by application id.
        The client sends list of "application_id" for specify the application to search.
      </documentation>
      <input message="tns:WorkflowGetReceivedApplicationsByIdRequest" />
      <output message="tns:WorkflowGetReceivedApplicationsByIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetApprovalDelegators">
      <documentation>
        This API gets the users that has delegated to login user.
        The service returns list of the delegate user id.
      </documentation>
      <input message="tns:WorkflowGetApprovalDelegatorsRequest" />
      <output message="tns:WorkflowGetApprovalDelegatorsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetProxyApprovalsByDelegatorId">
      <documentation>
        This API gets the proxy approvals by delegator's user id.
        "start" and "end" are search range.
        This API gets applications where the applied datetime is included within the range.
      </documentation>
      <input message="tns:WorkflowGetProxyApprovalsByDelegatorIdRequest" />
      <output message="tns:WorkflowGetProxyApprovalsByDelegatorIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetPendingApprovals">
      <documentation>
        This API gets the pending approvals.
        "start" and "end" are search range.
        This API gets applications where the applied datetime is included within the range.
      </documentation>
      <input message="tns:WorkflowGetPendingApprovalsRequest" />
      <output message="tns:WorkflowGetPendingApprovalsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowHandleApplications">
      <documentation>
        This API handles the workflow applications.
        A possible operation is included in ApplicationType.
        The service returns the workflow application that handled.
      </documentation>
      <input message="tns:WorkflowHandleApplicationsRequest" />
      <output message="tns:WorkflowHandleApplicationsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetProxies">
      <documentation>
        This API gets proxy users for login user.
      </documentation>
      <input message="tns:WorkflowGetProxiesRequest" />
      <output message="tns:WorkflowGetProxiesResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowSetProxies">
      <documentation>
        This API modifies proxy users for login user.
      </documentation>
      <input message="tns:WorkflowSetProxiesRequest" />
      <output message="tns:WorkflowSetProxiesResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetProfiles">
      <documentation>
        This API gets profiles in the workflow application.
      </documentation>
      <input message="tns:WorkflowGetProfilesRequest" />
      <output message="tns:WorkflowGetProfilesResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowFileDownload">
      <documentation>
        This API download the file in workflow.
        The client sends target file id.
        The service returns the file body specified.
      </documentation>
      <input message="tns:WorkflowFileDownloadRequest" />
      <output message="tns:WorkflowFileDownloadResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="WorkflowGetRequests">
     <documentation>
        This API Get Manage Requests in workflow(Admin).
      </documentation>
      <input message="tns:WorkflowGetRequestsRequest" />
      <output message="tns:WorkflowGetRequestsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="WorkflowGetRequestById">
     <documentation>
        This API Get Request Data in workflow(Admin).
      </documentation>
      <input message="tns:WorkflowGetRequestByIdRequest" />
      <output message="tns:WorkflowGetRequestByIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="WorkflowGetAvailabilityUsers">
     <documentation>
        This API Get Availability Users
      </documentation>
      <input message="tns:WorkflowGetAvailabilityUsersRequest" />
      <output message="tns:WorkflowGetAvailabilityUsersResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="WorkflowGetAttachedFileBody">
     <documentation>
        This API Get Attached File Body 
      </documentation>
      <input message="tns:WorkflowGetAttachedFileBodyRequest" />
      <output message="tns:WorkflowGetAttachedFileBodyResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="WorkflowGetCategories">
     <documentation>
        This API Get List Category
      </documentation>
      <input message="tns:WorkflowGetCategoriesRequest" />
      <output message="tns:WorkflowGetCategoriesResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="WorkflowGetRequestFormByCategoryIds">
     <documentation>
        This API Get List Request Form By Category ids
      </documentation>
      <input message="tns:WorkflowGetRequestFormByCategoryIdsRequest" />
      <output message="tns:WorkflowGetRequestFormByCategoryIdsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
  </portType>

  <binding name="WorkflowBinding" type="tns:WorkflowPort">
    <soap12:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />

    <operation name="WorkflowGetUnprocessedApplicationVersions">
      <soap12:operation soapAction="WorkflowGetUnprocessedApplicationVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetUnprocessedApplicationsById">
      <soap12:operation soapAction="WorkflowGetUnprocessedApplicationsById" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetSentApplicationVersions">
      <soap12:operation soapAction="WorkflowGetSentApplicationVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetSentApplicationsById">
      <soap12:operation soapAction="WorkflowGetSentApplicationsById" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetReceivedApplicationVersions">
      <soap12:operation soapAction="WorkflowGetReceivedApplicationVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetReceivedApplicationsById">
      <soap12:operation soapAction="WorkflowGetReceivedApplicationsById" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetApprovalDelegators">
      <soap12:operation soapAction="WorkflowGetApprovalDelegators" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetProxyApprovalsByDelegatorId">
      <soap12:operation soapAction="WorkflowGetProxyApprovalsByDelegatorId" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetPendingApprovals">
      <soap12:operation soapAction="WorkflowGetPendingApprovals" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowHandleApplications">
      <soap12:operation soapAction="WorkflowHandleApplications" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetProxies">
      <soap12:operation soapAction="WorkflowGetProxies" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowSetProxies">
      <soap12:operation soapAction="WorkflowSetProxies" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowGetProfiles">
      <soap12:operation soapAction="WorkflowGetProfiles" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>

    <operation name="WorkflowFileDownload">
      <soap12:operation soapAction="WorkflowFileDownload" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>
    
    <operation name="WorkflowGetRequests">
      <soap12:operation soapAction="WorkflowGetRequests" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>
    
    <operation name="WorkflowGetRequestById">
      <soap12:operation soapAction="WorkflowGetRequestById" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>
    
    <operation name="WorkflowGetAvailabilityUsers">
      <soap12:operation soapAction="WorkflowGetAvailabilityUsers" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>
    
    <operation name="WorkflowGetAttachedFileBody">
      <soap12:operation soapAction="WorkflowGetAttachedFileBody" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>
    
    <operation name="WorkflowGetCategories">
      <soap12:operation soapAction="WorkflowGetCategories" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>
    
    <operation name="WorkflowGetRequestFormByCategoryIds">
      <soap12:operation soapAction="WorkflowGetRequestFormByCategoryIds" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/workflow/2008" />
      </fault>
    </operation>
  </binding>
    
</definitions>