ilscipio/scipio-erp

View on GitHub
framework/service/servicedef/services.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is subject to the terms and conditions defined in the
files 'LICENSE' and 'NOTICE', which are part of this source
code package.
-->

<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
    <description>OFBiz Service Engine Services</description>
    <vendor>OFBiz</vendor>
    <version>1.0</version>

    <!-- Service Engine Services -->
    <service name="purgeOldJobs" engine="java"
            location="org.ofbiz.service.ServiceUtil" invoke="purgeOldJobs" auth="true" use-transaction="false" semaphore="wait">
        <description>Cleans out old jobs which have been around longer then what is defined in serviceengine.xml</description>
        <required-permissions join-type="AND">
            <check-permission permission="SERVICE_INVOKE_ANY"/>
        </required-permissions>
        <!-- this service has no attributes -->
    </service>

    <service name="cancelScheduledJob" engine="java"
            location="org.ofbiz.service.ServiceUtil" invoke="cancelJob" auth="true">
        <description>Cancels a schedule job</description>
        <required-permissions join-type="AND">
            <check-permission permission="SERVICE_INVOKE_ANY"/>
        </required-permissions>
        <auto-attributes entity-name="JobSandbox" include="pk" mode="IN" optional="false"/>
        <attribute name="cancelDateTime" type="Timestamp" mode="OUT" optional="false"/>
        <attribute name="statusId" type="String" mode="OUT" optional="false"/> <!-- To more easily see current pending jobs and possibly cancel some others -->
    </service>

    <service name="cancelJobRetries" engine="java"
            location="org.ofbiz.service.ServiceUtil" invoke="cancelJobRetries" auth="true">
        <description>Cancels a job retry flag</description>
        <required-permissions join-type="AND">
            <check-permission permission="SERVICE_INVOKE_ANY"/>
        </required-permissions>
        <auto-attributes entity-name="JobSandbox" include="pk" mode="IN" optional="false"/>
    </service>

    <service name="resetScheduledJob" engine="java"
            location="org.ofbiz.service.ServiceUtil" invoke="resetJob" auth="true">
        <description>Resets a stale job so it can be re-run</description>
        <required-permissions join-type="AND">
            <check-permission permission="SERVICE_INVOKE_ANY"/>
        </required-permissions>
        <auto-attributes entity-name="JobSandbox" include="pk" mode="IN" optional="false"/>
    </service>

    <!-- Service Engine Interfaces -->
    <service name="permissionInterface" engine="interface">
        <description>Interface to describe base parameters for Permission Services</description>
        <attribute name="mainAction" type="String" mode="IN" optional="true">
            <description>The action requiring permission. Must be one of ADMIN, CREATE, UPDATE, DELETE, VIEW.</description>
        </attribute>
        <attribute name="primaryPermission" type="String" mode="IN" optional="true">
            <description>The permission to check - typically the name of an application or entity.</description>
        </attribute>
        <attribute name="altPermission" type="String" mode="IN" optional="true">
            <description>Optional alternate permission to check. If the primary permission check fails,
            the alternate permission will be checked.</description>
        </attribute>
        <attribute name="resourceDescription" type="String" mode="IN" optional="true">
            <description>The name of the resource being accessed - defaults to service name.</description>
        </attribute>
        <attribute name="hasPermission" type="Boolean" mode="OUT" optional="false">
            <description>Contains true if the requested permission has been granted.</description>
        </attribute>
        <attribute name="failMessage" type="String" mode="OUT" optional="true">
            <description>Contains an explanation if the permission was denied.</description>
        </attribute>
    </service>

    <service name="authenticationInterface" engine="interface">
        <description>Interface to describe authentication services</description>
        <attribute name="login.username" type="String" mode="IN"/>
        <attribute name="login.password" type="String" mode="IN"/>
        <attribute name="visitId" type="String" mode="IN" optional="true"/>
        <attribute name="isServiceAuth" type="Boolean" mode="IN" optional="true"/>
        <attribute name="userLogin" type="org.ofbiz.entity.GenericValue" mode="OUT"/>
        <attribute name="userLoginSession" type="java.util.Map" mode="OUT" optional="true"/>
    </service>

    <service name="serviceStreamInterface" engine="interface">
        <description>Interface to describe services call with streams</description>
        <attribute name="inputStream" type="java.io.InputStream" mode="IN"/>
        <attribute name="outputStream" type="java.io.OutputStream" mode="IN"/>
        <attribute name="contentType" type="String" mode="OUT"/>
    </service>

    <service name="serviceEcaConditionInterface" engine="interface">
        <description>Interface to describe services which are used as SECA conditions</description>
        <attribute name="serviceContext" type="Map" mode="IN"/>
        <attribute name="serviceName" type="String" mode="IN"/>
        <attribute name="conditionReply" type="Boolean" mode="OUT"/>
    </service>
    <service name="serviceMcaConditionInterface" engine="interface">
        <description>Interface to describe services which are used as SMCA conditions</description>
        <attribute name="messageWrapper" type="org.ofbiz.service.mail.MimeMessageWrapper" mode="IN"/>
        <attribute name="conditionReply" type="Boolean" mode="OUT"/>
    </service>

    <service name="mailProcessInterface" engine="interface">
        <description>Interface to describe services used to process incoming email</description>
        <attribute name="messageWrapper" type="org.ofbiz.service.mail.MimeMessageWrapper" mode="IN"/>
    </service>

    <!-- simple condition implementation -->
    <service name="effectiveDateEcaCondition" engine="java" auth="false" use-transaction="false"
            location="org.ofbiz.service.ServiceUtil" invoke="genericDateCondition">
        <implements service="serviceEcaConditionInterface"/>
        <attribute name="fromDate" mode="IN" type="java.sql.Timestamp" optional="true"/>
        <attribute name="thruDate" mode="IN" type="java.sql.Timestamp" optional="true"/>
    </service>

    <!-- JobManagerLock Services -->
    <service name="createJobManagerLock" default-entity-name="JobManagerLock" engine="entity-auto" invoke="create" auth="true">
        <description>Create a Job Manager Lock</description>
        <permission-service service-name="commonGenericPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>

    <service name="updateJobManagerLock" default-entity-name="JobManagerLock" engine="entity-auto" invoke="update" auth="true">
        <description>Cancel a Job Sandbox Lock</description>
        <permission-service service-name="commonGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    
    <service name="createCatalinaSession" default-entity-name="CatalinaSession" engine="entity-auto" invoke="create" auth="true">
        <description>Create a Catalina Session Record</description>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>

    <service name="updateCatalinaSession" default-entity-name="CatalinaSession" engine="entity-auto" invoke="update" auth="true">
        <description>Update a Catalina Session Record</description>
        <auto-attributes include="pk" mode="IN"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteCatalinaSession" default-entity-name="CatalinaSession" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete a Catalina Session Record</description>
        <auto-attributes include="pk" mode="IN"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>

    <!-- StandardLanguage services -->
    <service name="createStandardLanguage" default-entity-name="StandardLanguage" engine="entity-auto" invoke="create" auth="true">
        <description>Create a StandardLanguage Record</description>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateStandardLanguage" default-entity-name="StandardLanguage" engine="entity-auto" invoke="update" auth="true">
        <description>Update a StandardLanguage Record</description>
        <auto-attributes include="pk" mode="IN"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteStandardLanguage" default-entity-name="StandardLanguage" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete a StandardLanguage Record</description>
        <auto-attributes include="pk" mode="IN"/>
    </service>

    <!-- StatusItem services -->
    <service name="createStatusItem" default-entity-name="StatusItem" engine="entity-auto" invoke="create" auth="true">
        <description>Create a StatusItem Record</description>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateStatusItem" default-entity-name="StatusItem" engine="entity-auto" invoke="update" auth="true">
        <description>Update a StatusItem Record</description>
        <auto-attributes include="pk" mode="IN"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteStatusItem" default-entity-name="StatusItem" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete a StatusItem Record</description>
        <auto-attributes include="pk" mode="IN"/>
    </service>

    <service name="createStatusType" default-entity-name="StatusType" engine="entity-auto" invoke="create" auth="true">
        <description>Create a StatusType</description>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateStatusType" default-entity-name="StatusType" engine="entity-auto" invoke="update" auth="true">
        <description>Update a StatusType</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteStatusType" default-entity-name="StatusType" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete a StatusType</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <service name="createSequenceValueItem" default-entity-name="SequenceValueItem" engine="entity-auto" invoke="create" auth="true">
        <description>Create a SequenceValueItem</description>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateSequenceValueItem" default-entity-name="SequenceValueItem" engine="entity-auto" invoke="update" auth="true">
        <description>Update a SequenceValueItem</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteSequenceValueItem" default-entity-name="SequenceValueItem" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete a SequenceValueItem</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <!-- JobSandbox Services -->
    <service name="createJobSandbox" engine="entity-auto" invoke="create" default-entity-name="JobSandbox" auth="true">
        <description>Create JobSandbox record</description>
        <permission-service service-name="commonGenericPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateJobSandbox" engine="entity-auto" invoke="update" default-entity-name="JobSandbox" auth="true">
        <description>Update JobSandbox record</description>
        <permission-service service-name="commonGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteJobSandbox" engine="entity-auto" invoke="delete" default-entity-name="JobSandbox" auth="true">
        <description>Delete JobSandbox record</description>
        <permission-service service-name="commonGenericPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN"/>
    </service>

    <!-- RuntimeData Services -->
    <service name="createRuntimeData" engine="entity-auto" invoke="create" default-entity-name="RuntimeData" auth="true">
        <description>Create RuntimeData record</description>
        <permission-service service-name="commonGenericPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="runtimeInfo" allow-html="any"></override>
    </service>
    <service name="updateRuntimeData" engine="entity-auto" invoke="update" default-entity-name="RuntimeData" auth="true">
        <description>Update RuntimeData record</description>
        <permission-service service-name="commonGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteRuntimeData" engine="entity-auto" invoke="delete" default-entity-name="RuntimeData" auth="true">
        <description>Delete RuntimeData record</description>
        <permission-service service-name="commonGenericPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN"/>
    </service>

    <!-- SCIPIO: New services -->
    <service name="scipioJobCtxInterface" engine="interface">
        <description>A special interface that services may implement to receive details about the job that triggered the service</description>
        <attribute name="scipioJobCtx" type="Map" mode="IN" optional="true">
            <description>Contains the following fields:
                * eventId - special Scipio eventId (SCH_EVENT_STARTUP, ...)</description>
        </attribute>
    </service>

    <service name="scipioClientNamePassAuthInterface" engine="interface">
        <description>A special interface that services may implement to set basic user/password auth needed while creating connections to remote services/hosts</description>
        <attribute name="clientLogin.username" type="String" mode="IN" optional="true">
            <description></description>
        </attribute>
        <attribute name="clientLogin.password" type="String" mode="IN" optional="true">
            <description></description>
        </attribute>
    </service>
    <service name="scipioClientAuthInterface" engine="interface">
        <description>A special interface that services may implement to set auth needed while creating connections to remote services/hosts</description>
        <implements service="scipioClientNamePassAuthInterface"/>
        <!-- TODO: Add token support or anything generic missing -->
    </service>

    <service name="scipioSOAPInterface" engine="interface">
        <description>A special interface that services may implement to set specific attributes for SOAP based services</description>
        <attribute name="soapServiceInvokerClass" type="Class" mode="IN" optional="true">
            <description></description>
        </attribute>
        <attribute name="soapServiceHeader" type="java.util.List" mode="IN" optional="true">
            <description></description>
        </attribute>
        <attribute name="soapServicePayload" type="Object" mode="IN" optional="true">
            <description></description>
        </attribute>
        <attribute name="soapResponseDocument" type="org.w3c.dom.Document" mode="OUT" optional="true">
            <description></description>
        </attribute>

    </service>


</services>