We are using AXIS as part of a file uploading service (it will eventually 
run under the Globus Toolkit verions 3.0.) Now, part of this involves 
having a URI such as

gsiftp://server.a.b.c:1234/file_staging_area/tempFil35.tmp

This is to be returned to the service as a string  after the upload is 
complete. Here is where it gets odd. on the client, AXIS throws an 
IllegalArgumentException and says that the URI has an authority, then 
refuses to upload the call to the server. If we prepend junque (like a 
couple of $'s) then axis serializes the string just fine, since it doesn't 
recognize this as a URI. We can also replace the protocol to something 
plain, like http and have it work too. There really isn't a whole lot more 
to say. I've looked at the tcpmon and the SOAP is barely more than the 
string. Yes, I'd be happy to post this to any level of detail you want.

The kicker is that this is happened in the built-in deserializer, therefore 
I have to conclude that, bizarrely enough, URIs are parsed in this. I.e., 
it creates the SOAP then afterwards runs it through a parser (there were 
xerces parser calls in the stack trace) and expires. Fine. What I want to 
know is why? Is this documented behavior? I spent a chunk of time today 
tracking this down.

-- j

java version 1.4.1.02
axis is version 1.1

Reply via email to