However with WLST or ANT the SOA Suite comes with two options to undeploy composites via script. In this article I’d like to explain you both ways.
Undeployment with WLST
You can test the steps below on Oracle's Pre-built Virtual Machine for SOA Suite and BPM Suite 11g.1) Change to the WLST directory under MIDDLEWARE_HOME/Oracle_SOA1/common/bin.
cd /oracle/fmwhome/Oracle_SOA1/common/bin/
2) Open WLST
./wlst.sh
3) Connect to the SOA server
wls:/offline> connect('weblogic','welcome1','t3://soabpm-vm:7001')
Connecting to t3://soabpm-vm:7001 with userid weblogic ...
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'dev_bpm'.
Connecting to t3://soabpm-vm:7001 with userid weblogic ...
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'dev_bpm'.
wls:/dev_bpm/serverConfig>
4) Run the delete command for the appropriate partition
wls:/dev_bpm/serverConfig> sca_deletePartition('test')
partitionName = test
Partition was successfully deleted.
wls:/dev_bpm/serverConfig>
Please take into account that the command deletes all composites as well as the partition itself. If you need the partition for future deployments just recreate it with the sca_createPartition WLST-command. Also check the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference for a complete list of SOA Suite Custom WLST Commands.
Undeployment with ANT
Another option is to use ANT for the undeployment of multiple composites. The key here is to reference the file ant-sca-mgmt.xml within your custom ANT-target. The file comes with SOA Suite as well as JDeveloper. See my quick example below:
<target name="sca_deletePartition">
<echo>Undeploy Composites</echo>
<ant antfile="/oracle/fmwhome/Oracle_SOA1/bin/ant-sca-mgmt.xml"
inheritall="false" target="deletePartition">
<property name="host" value="soabpm-vm"/>
<property name="port" value="7001"/>
<property name="user" value="weblogic"/>
<property name="password" value="welcome1"/>
<property name="partition" value="testPartition"/>
</ant>
</target>
Again this command deletes all composites of the given partition as well as the partition itself. See the Developer's Guide - Managing SOA Composite Applications with Script for more details.
Update: After reading this article Christoph Burmeister from our Build Management team created a pom-snippet for this to make the maven fans happy as well :-) Many thanks Christoph!!