| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:noNamespaceSchemaLocation="https://ofbiz.apache.org/dtds/services.xsd"> |
| <description>OFBiz Service Engine Services</description> |
| <vendor>OFBiz</vendor> |
| <version>1.0</version> |
| |
| <!-- dead lock retry testing services --> |
| <service name="testServiceDeadLockRetry" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceDeadLockRetry"> |
| <implements service="testServiceInterface"/> |
| </service> |
| <service name="testServiceDeadLockRetryThreadA" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceDeadLockRetryThreadA"> |
| </service> |
| <service name="testServiceDeadLockRetryThreadB" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceDeadLockRetryThreadB"> |
| </service> |
| |
| <!-- lock wait timeout retry testing services --> |
| <service name="testServiceLockWaitTimeoutRetry" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceLockWaitTimeoutRetry"> |
| <implements service="testServiceInterface"/> |
| </service> |
| <service name="testServiceLockWaitTimeoutRetryGrabber" engine="java" auth="false" transaction-timeout="6" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceLockWaitTimeoutRetryGrabber"> |
| </service> |
| <service name="testServiceLockWaitTimeoutRetryWaiter" engine="java" auth="false" transaction-timeout="2" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceLockWaitTimeoutRetryWaiter"> |
| </service> |
| |
| <!-- testing different entity-auto call--> |
| <service name="testEntityAutoCreateTestingPkPresent" auth="false" |
| engine="entity-auto" default-entity-name="Testing" invoke="create"> |
| <auto-attributes include="pk" mode="IN" optional="false"/> |
| <auto-attributes include="nonpk" mode="IN" optional="true"/> |
| </service> |
| <service name="testEntityAutoCreateTestingPkMissing" auth="false" |
| engine="entity-auto" default-entity-name="Testing" invoke="create"> |
| <auto-attributes include="nonpk" mode="IN" optional="true"/> |
| <attribute name="testingId" mode="OUT" type="String"/> |
| </service> |
| <service name="testEntityAutoCreateTestingItemPkPresent" auth="false" |
| engine="entity-auto" default-entity-name="TestingItem" invoke="create"> |
| <auto-attributes include="pk" mode="IN" optional="false"/> |
| <auto-attributes include="nonpk" mode="IN" optional="true"/> |
| </service> |
| <service name="testEntityAutoCreateTestingItemPkMissing" auth="false" |
| engine="entity-auto" default-entity-name="TestingItem" invoke="create"> |
| <auto-attributes include="nonpk" mode="IN" optional="true"/> |
| <attribute name="testingId" mode="IN" type="String"/> |
| <attribute name="testingSeqId" mode="OUT" type="String"/> |
| </service> |
| <service name="testEntityAutoCreateTestingNodeMemberPkPresent" auth="false" |
| engine="entity-auto" default-entity-name="TestingNodeMember" invoke="create"> |
| <auto-attributes include="pk" mode="IN" optional="false"/> |
| <auto-attributes include="nonpk" mode="IN" optional="true"/> |
| </service> |
| <service name="testEntityAutoCreateTestingNodeMemberPkMissing" auth="false" |
| engine="entity-auto" default-entity-name="TestingNodeMember" invoke="create"> |
| <auto-attributes include="nonpk" mode="IN" optional="true"/> |
| <attribute name="testingId" mode="IN" type="String"/> |
| <attribute name="testingNodeId" mode="IN" type="String"/> |
| <attribute name="fromDate" mode="OUT" type="Timestamp"/> |
| </service> |
| <service name="testEntityAutoUpdateTesting" auth="false" |
| engine="entity-auto" default-entity-name="Testing" invoke="update"> |
| <auto-attributes include="pk" mode="IN" optional="false"/> |
| <auto-attributes include="nonpk" mode="IN" optional="true"/> |
| </service> |
| <service name="testEntityAutoRemoveTesting" auth="false" |
| engine="entity-auto" default-entity-name="Testing" invoke="delete"> |
| <auto-attributes include="pk" mode="IN" optional="false"/> |
| </service> |
| <service name="testEntityAutoExpireTestingNodeMember" auth="false" |
| engine="entity-auto" default-entity-name="TestingNodeMember" invoke="expire"> |
| <auto-attributes include="pk" mode="IN" optional="false"/> |
| </service> |
| <service name="testEntityAutoExpireTestFieldType" auth="false" |
| engine="entity-auto" default-entity-name="TestFieldType" invoke="expire"> |
| <auto-attributes include="pk" mode="IN" optional="false"/> |
| <attribute name="dateTimeField" mode="IN" type="Timestamp" optional="true"/> |
| </service> |
| <service name="testEntityAutoCreateTestingStatus" auth="false" |
| engine="entity-auto" default-entity-name="TestingStatus" invoke="create"> |
| <attribute name="testingId" type="String" mode="IN"/> |
| <attribute name="statusId" type="String" mode="IN"/> |
| <attribute name="testingStatusId" type="String" mode="OUT"/> |
| </service> |
| <service name="testEntityAutoUpdateTestingStatus" auth="true" |
| engine="entity-auto" default-entity-name="TestingStatus" invoke="update"> |
| <auto-attributes include="pk" mode="IN" optional="false"/> |
| <attribute name="statusId" type="String" mode="IN"/> |
| </service> |
| <service name="testEntityAutoDeleteTestingStatus" auth="true" |
| engine="entity-auto" default-entity-name="TestingStatus" invoke="delete"> |
| <auto-attributes include="pk" mode="IN" optional="false"/> |
| </service> |
| |
| <!-- lock wait timeout retry testing services - a scenario that we can't do automatically with the single service because the parent owns the tx we have to have end before it will succeed --> |
| <service name="testServiceLockWaitTimeoutRetryCantRecover" engine="java" auth="false" transaction-timeout="2" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceLockWaitTimeoutRetryCantRecover"> |
| <implements service="testServiceInterface"/> |
| </service> |
| <service name="testServiceLockWaitTimeoutRetryCantRecoverWaiter" engine="java" auth="false" transaction-timeout="4" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceLockWaitTimeoutRetryCantRecoverWaiter"> |
| </service> |
| |
| <!-- make sure that if rollback only is set on the tx of the parent service you can still run a child service in a separate tx --> |
| <service name="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentErrorCatchWrapper" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentErrorCatchWrapper"> |
| <implements service="testServiceInterface"/> |
| </service> |
| <service name="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParent" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParent"> |
| </service> |
| <service name="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentSubService" engine="java" auth="false" require-new-transaction="true" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceOwnTxSubServiceAfterSetRollbackOnlyInParentSubService"> |
| </service> |
| |
| <!-- make sure services are running on global-commit and global-rollback --> |
| <service name="testServiceEcaGlobalEventExec" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceEcaGlobalEventExec"> |
| <implements service="testServiceInterface"/> |
| </service> |
| <service name="testServiceEcaGlobalEventExecOnCommit" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceEcaGlobalEventExecOnCommit"> |
| </service> |
| <service name="testServiceEcaGlobalEventExecToRollback" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceEcaGlobalEventExecToRollback"> |
| </service> |
| <service name="testServiceEcaGlobalEventExecOnRollback" engine="java" auth="false" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestServices" invoke="testServiceEcaGlobalEventExecOnRollback"> |
| </service> |
| |
| <!--Test permission--> |
| <service name="testSimplePermission" engine="java" auth="true" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestPermissionServices" invoke="genericTestService"> |
| <required-permissions join-type="AND"> |
| <check-permission permission="TESTPERM" action="_UPDATE"/> |
| </required-permissions> |
| </service> |
| <service name="testSimpleServicePermission" engine="java" auth="true" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestPermissionServices" invoke="genericTestService"> |
| <permission-service service-name="testPermissionPing"/> |
| <attribute name="givePermission" type="String" mode="IN"/> |
| </service> |
| <service name="testSimpleGroupAndPermission" engine="java" auth="true" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestPermissionServices" invoke="genericTestService"> |
| <required-permissions join-type="AND"> |
| <check-permission permission="TESTPERM" action="_UPDATE"/> |
| <permission-service service-name="testPermissionPing"/> |
| </required-permissions> |
| <attribute name="givePermission" type="String" mode="IN"/> |
| </service> |
| <service name="testSimpleGroupOrPermission" engine="java" auth="true" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestPermissionServices" invoke="genericTestService"> |
| <required-permissions join-type="OR"> |
| <check-permission permission="TESTPERM" action="_UPDATE"/> |
| <permission-service service-name="testPermissionPing"/> |
| </required-permissions> |
| <attribute name="givePermission" type="String" mode="IN"/> |
| </service> |
| <service name="testServicePermissionWithTransaction" engine="java" auth="true" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestPermissionServices" invoke="genericTestService"> |
| <permission-service service-name="testPermissionPing" require-new-transaction="true"/> |
| <attribute name="testingId" type="String" mode="IN"/> |
| </service> |
| <service name="testPermissionPing" engine="java" auth="true" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestPermissionServices" invoke="testPermissionPing"> |
| <implements service="permissionInterface"/> |
| <attribute name="givePermission" type="String" mode="IN"/> |
| </service> |
| <service name="testPermissionExistingTesting" engine="java" auth="true" |
| location="org.apache.ofbiz.service.test.ServiceEngineTestPermissionServices" invoke="testPermissionExistingTesting"> |
| <implements service="permissionInterface"/> |
| <attribute name="testingId" type="String" mode="IN"/> |
| </service> |
| |
| <!--call groovy engine service --> |
| <service name="testGroovyPingSuccess" engine="groovy" |
| location="component://service/groovyScripts/test/TestServices.groovy" invoke="testPingSuccess"> |
| <attribute name="ping" mode="IN" type="String"/> |
| <attribute name="pong" mode="OUT" type="String"/> |
| </service> |
| <service name="testGroovyPingError" engine="groovy" require-new-transaction="true" |
| location="component://service/groovyScripts/test/TestServices.groovy" invoke="testPingError"> |
| <implements service="testGroovyPingSuccess"/> |
| </service> |
| <service name="testGroovyPingSuccessWithDSLCall" engine="groovy" |
| location="component://service/groovyScripts/test/TestServices.groovy" invoke="testPingSuccessWithDSLCall"> |
| <implements service="testGroovyPingSuccess"/> |
| </service> |
| <service name="testGroovyPingErrorWithDSLCall" engine="groovy" |
| location="component://service/groovyScripts/test/TestServices.groovy" invoke="testPingErrorWithDSLCall"> |
| <implements service="testGroovyPingSuccess"/> |
| </service> |
| </services> |