Comments on: SOA Suite File Adapter Pre and Post processing using Valves and Pipelines Friends of Oracle and Java Sat, 01 Aug 2015 11:10:05 +0000 hourly 1 By: Kevin Brown Fri, 31 Oct 2014 18:33:30 +0000 Question: I have followed your instructions to a T and I am not having the output that I am looking for. I am using the ReentrantUnzipValve which extends the AbstractStagedValve – as I am trying to unzip a zip folder which contains multiple files and extract the contents of the zip folder to a different location by using and read and write file adapter. I am using file adapters because I need to poll a specific directory for said zip folder and after the Java class unzips and stages files in staging area I am trying to specify a location with the write adapter for these files to reside (which is a different location than where the read adapter is polling from).

One issue I am having is in the write adapter it wants me to specify a file pattern name – which in this case I don’t really have one because I am polling for a zip in the read adapter and when I write with write adapter it would no longer be a zip … inevitably I would expect it to turn the zip into a regular folder (as one would expect when files are extracted from a zipped folder) and a regular folder does NOT have a file extension type – and .dir doesn’t really work here so … does anyone know what I am doing wrong or a better way to approach this????

Thanks so much in advance.

Kind Regards.

By: Harisudhan Selvaraj Wed, 29 Oct 2014 14:56:39 +0000 Hi Lucas,

I am getting the following error message when I deploy the class file in PART 1 to generate a JAR file.

Error(14,8): unzipwithvalue.MyFirstValue is not abstract and does not override abstract method cleanup() in

Please advise.

Harisudhan Selvaraj

By: AK Tue, 21 Oct 2014 00:58:07 +0000 Yes, it is mandatory to do a bounce

By: AK Tue, 21 Oct 2014 00:56:54 +0000 All the dependent jar files including the class file for the valve(MyFirstValve) should be put under /oracle/fmwhome/Oracle_SOA1/soa/modules/oracle.soa.ext_11.1.1 directory followed by running
ant as shown below –

[oracle@soabpm-vm oracle.soa.ext_11.1.1]$ ant
Buildfile: build.xml

[echo] Creating oracle.soa.ext at /oracle/fmwhome/Oracle_SOA1/soa/modules/oracle.soa.ext_11.1.1/oracle.soa.ext.jar :/oracle/fmwhome/Oracle_SOA1/soa/modules/oracle.soa.ext_11.1.1/MyFirstValve.jar:/oracle/fmwhome/Oracle_SOA1/soa/modules/oracle.soa.ext_11.1.1/classes

Total time: 0 seconds

Else you will get the following error in the diagnostic logs – Class [client.custom.pipeline.value.MyFirstValve] not found
at oracle.tip.adapter.file.inbound.ProcessorDelegate.getWrappedFile(
at oracle.tip.adapter.file.inbound.ProcessorDelegate.process(
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$
Caused by: oracle.classloader.util.AnnotatedClassNotFoundException:

Missing class: client.custom.pipeline.value.MyFirstValve

Dependent class:
Loader: sun.misc.Launcher$AppClassLoader@278305896
Code-Source: /oracle/fmwhome/Oracle_SOA1/soa/modules/oracle.soa.fabric_11.1.1/bpm-infra.jar
Configuration: /oracle/fmwhome/Oracle_SOA1/soa/modules/oracle.soa.fabric_11.1.1/bpm-infra.jar

This load was initiated at default.composite.ReadlResourceRoleExcel.soa_cf2a49d3-d6f1-4415-8658-d1fa25077fc0:1.0 using the Class.forName() method.

at oracle.classloader.PolicyClassLoader.handleClassNotFound(
at oracle.classloader.PolicyClassLoader.internalLoadClass(
at oracle.classloader.PolicyClassLoader.loadClass(
at oracle.classloader.PolicyClassLoader.loadClass(
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(
… 8 more


By: Lucas Jellema Fri, 02 Dec 2011 05:59:45 +0000 Yes, you do have to bounce the JVM in order for changes to be picked up.

By: Praveen Challa Fri, 02 Dec 2011 00:52:48 +0000 Nice blog. Do you have to bounce the SOA server to take the java changes effect?

By: Publishing the Product Details WebService based on an Excel based Product Catalog using the SOA Suite 11g File Adapter with Synchronous File Read « AMIS Technology blog Mon, 14 Nov 2011 12:52:37 +0000 […] what would be added to what you have seen above: using the Valve (discussed in detail in…), the File Adapter binding would be extended with functionality to turn a binary (or XLSX) Excel […]