axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shantanu Sen <>
Subject question regarding axis in tomcat
Date Wed, 13 Aug 2003 21:05:55 GMT
When an invokation to a ws endpoint happens, the
URLMapper.invoke is called which does a
MessageContext.getTargetService, which eventually goes
to WSDDDeployment.getService. In WSDDDeployment the
available services are stored in a HashMap, the key
being the service name. This map is initialized during
axis startup from the deployed services.

Now if the service name has spaces e.g. "My Service",
I see a problem when running axis with tomcat 4.1.24.
When the invokation is done, the URL will be encoded,
i.e it will be like
Axis gets the path to the service from this invokation
from  a MessageContext property:

This property is stored by AxisServlet (during the
doGet/doPost call) using
In this version of tomcat this call is returning the
non-url-decoded path i.e. in this case "My+Service".

As a result, the service cannot be found. If I use
tomcat version 4.0.4. then the call returns fine e.g.
it returns "My Service" and there is no problem for
axis finding the service.

Is this a known problem? 

Another issue is that to work around this, I do not
see any other option other than overrifing the
AxisServlet doGet and doPost. Ideally if the
createMessageContext method in AxisServlet is
protected instead of private, I could override that to
fix it. Any ideas why this is not protected? 

I am using axis 1.1

Thanks for any help.
Shantanu Sen

View raw message