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