Hi,

I'm having a problem with Axis (tomcat/java) which I can neither explain nor workaround.

As I don't know if it's a bug in my program or in Axis, I send this
message to both mailing list...


As a reserch project, I'm writing a web services which I want to be able to communicate binary data between themself. Basicaly at this stage my goal is to have multiple web servers, each one running an instance of my web service (WorkerWS), and have them communicate data via 2 functions : getData and PullData (the names may be not so well chosen).

-getData takes a path to the file to send as a parameter and returns a
DataHandler for that file.
-pullData takes the same argument plus the url of the web server from
which to ask for the file (ie pullData will call the "getData" function
of the given url).

Here is my problem : I have coded these functions and deployed my web
service. I have also programmed a client to test these functions
independantly before making them communicate between 2 web services.
Important to know : the Client pullData function and the Worker pullData
function are strictly the same (copy/paste).

The Client works fine : it can get the file it asks from the WorkerWS,
and the file is ok (I tryed on the local machine and on a remote machine).
But when I do the same call between the 2 web services, I have a "nested
IOFileNotFoundException" with a StackTrace of dozens of lines.

I tryed both JAX-RPC and SAAJ, and both give me an exception (I coded
the classes starting from the "attachments" example given in Axis).

The weird thing is that, using the tcpmon utility, I see exactly the
same message when calling getData from the Client or from the local
WorkerWS (well, the attachement reference and date are not the same, of
course), which means that the response from the remote WorkerWS is fine
in both cases. But it seems that the client manages to recept it and the
local WorkerWS doesn't (and it's the same function for both).

When using JAX-RPC the Exception occurs during the "call.invoke()" call,
so, considering the fact that this call is well formed (as it works for
the Client program), I assume this "bug" occurs during the call itself,
ie inside Axis (or maybe other java classes). Maybe the problem comes
from environment variables but both tomcat and the client run with the
same uid (and both started from console), so I suppose these variables
are the same for both.

If somebody knows about such problem or have an idea about how to
workaround, I would greatly appreciate it.

Regards,

Matthieu Cargnelli

Reply via email to