first pointer: Look in the (error)logging of your server that is running E. It will provide most information. Look at the differences in connecting from seam and the 2 other apps.
This is often caused by a java.lang.NoClassDefFoundError which is a Throwable, not an Exception. If your code doesn't catch Throwable then Seam will generate a 403 when it catches the Throwable itself.
Just log the caught exception and you should clearly see what you're missing.