I am Peter Corbeij working as a Application Engineer webMethods for
Casema in the Netherlands.
At this moment we still run webMethods 4.1.1 (both production as
development).
A request from our client at Casema involved sending emails after a document of completion was received by webMethods. As we do not have a
key for the Email Adapter I created a component for the Integration Logic Agent based upon a guide for sending email guide via java ( [url=“Oracle Java Technologies | Oracle”]Oracle Java Technologies | Oracle ).
In this guide mail.jar, activation.jar where mentioned ( I used several
also the latest version from Sun) and how to import them.
In the component script I added:
import javax.mail.;
import javax.mail.internet.;
In the classpath and directory I added the mail.jar, activation.jar.
When I compiled (Enterprise Integrator) within windows nt it works,
component is compiled and I can send emails with it.
But on unix it does not work from the adapter, the code put in seperate
class works compiles directly within a terminal (javac -classpath
“mail.jar:activation.jar” mailclass.java).
Compiling the component in Enterprise Integrator when the adapter on
unix is enabled results in errors:
Package javax.mail not found in import
Package javax.mail.internet not found in import
I used several classpath changes and put the jars in differnt places but
I cannot get the component compiled on Unix. Can you help me? Thanks in
advance.
Try to put it in classpath in adapter config GUI.(I am sure you already tried this)
If it does not work, try running the adapter in debug mode like
beans_adapter adapter_name broker@ES client_id -classpath javax.mail.; -debug 1 warnings 1 (It has been really long time since I used this tool and I don’t have it on my machine anymore, so chech beans_adapter /help correct syntax)
If my memory servers, using javamail API requires JAF also to be on the classpath (javax.activation.
The previous suggestion should be heeded as they describe how you configure the classpath for the runtime environment.
I assume you are running EI on a different machine from the unix box where the adapter is running.
The problem you are running into has to do with the EI tool trying to be nice and helpful. When you are running everything on your own box, EI will look up the classpath settings of the local adapter configuration instance for the adapter in question and use that classpath to compile the IC. Nobody typically knows this is how EI works until they run into your predicament.
To fix this version, you need to have the appropriate versions of the jar files available on the machine you are currently running EI from. Then you need to configure EI by going to Edit | Preferences … | Session and enter the correct classpath on the EI machine into the “Classpath supplement:” field.
Once this is done everything should work just fine.
BEWARE, from now on whenever you deploy any adl files using an EI instance that has not properly configured the classpath supplement, you run the risk of breaking this new IC (breaking = leaving it in a state where it is not compiled). EI is not very good about letting you know there are uncompiled ICs.
After changing the classpath supplement in the preferences of the Enterprise Integrator (EI) I was able to compile and after rstating the adapter on unix I was able to send an email.