-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

MK,

MK wrote:
| I have the following problem:
| My Web application needs to handle Lotus Notes URLs which use the scheme
| "notes". However, since Java does not know this protocol by default,
it throws a
| MalformedUrlException when I construct a java.net.URL from a notes://
URL-string.
|
| So, I read up on custom URL handlers and as far as I understand, you
have to
| code a custom URLStreamHandler class and a custom URLConnection class.

You really only need a custom URLStreamHandler... if there's a
URLConnection that you can re-use, you are welcome to do that.

| Okay, no
| big deal. However, there are three ways to register your new handler:
|
| 1) put it in the sun.net.www.protocol.yourprotocol package

Don't do that. You probably can't do it anyway, since the JAR defining
the package is likely to be sealed.

| 2) put it in a custom package and declare that package to the JRE
using the
| java.protocol.handler.pkgs system property

This is how I do it in my TestURLConnection package
(http://sourceforge.net/projects/tuc).

| 3) register a custom URLStreamHandlerFactory using
URL.setUrlStreamHandlerFactory

This might not work, since the javadoc says it may only be called once
for a given JVM -- and Tomcat (or something else) might have don it
before you get the chance to do so.

| problem is, none of these approaches work in Tomcat 5.5. For 1), this
simply
| didn't have any effect for me. 2) neither, maybe Tomcat simply ignores
that
| property?

How did you set the property?

| 3) doesn't work because Tomcat already registers its own factory, and
| for some reason I can't quite put my hands on you are not allowed to
call that
| method twice per JVM instance.

Yeah, that's not surprising at all.

| This issue is also discussed on Sun's Java issue tracker:
| http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4648098
|
| The ticket has been opened six years ago and still no fix!

That is also not surprising. Bugs in Java seem to take forever to get
fixed, if they ever get fixed. It's a shame, really.

| Does Tomcat meanwhile have some workaround for this? I mean, I don't
even need
| an actual URL connection, I just want to pass custom URL strings,
which should
| be perfectly fine if they are valid URLs, no?!

Do you have the opportunity to intercept these URL objects, or are they
always handled somewhere that you can't inspect them. I'm wondering if
you can convert a notes:// URL into, say, an http:// URL before
attempting to call URL.openConnection. I don't know anything about
notes://, so maybe it isn't even HTTP-compatible.

I'm sure there's a way around this. Give us some more information and
we'll see what we can do.

- -chris

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAke+9tYACgkQ9CaO5/Lv0PCu+QCfZR8fi+RMARH22QPpcZDjl4/o
gUUAoL3sKYTDL6jznTmFu3QdOMZLX73N
=Moqk
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to