Gotthard Witsch
2017-02-15 14:11:47 UTC
Hello,
as I am facing a very strange problem with Axis2 1.6.0, I decided to ask if anyone faced this issue once.
My setup is the following:
I deploy a webservice application on Tomcat 7 available at the path ws_api. (https//host/ws_api)
This application implements a Handler(Filter) which is registered as a module and called before any request is processed by my businesslogic.
Within this handler I am calling the method MessageContext.getConfigurationContext().getServiceContextPath(), which should return the leading path for all my deployed services -> /ws_api/services
This works fine with java clients and SOAP UI.
However with a .NET webservice client making a webservice call, this method returns //ws_api/services. Which causes my implemented logic fail, as it relies on 1 slash. Obviously double slashes don't make sense for me. One solution would be to change my logic to be able to work with double slashes as well, however I would rather understand why it returns double slashes. As java webservice clients don't have any problems and work correctly.
An example endpoint url that gets called, would look like:
http://server/ws_api/services/PUBLIC_VA21/VA21/QueryService
I've already debugged the axis source code, but could not find any bugs.
Does anyone have clue, why axis returns two slashes instead of one?
In my axis2.xml configuration the parameter servicePath is set to services.
The parameter contextRoot is not set. Is this required?
Many thanks in advance,
Gotthard
as I am facing a very strange problem with Axis2 1.6.0, I decided to ask if anyone faced this issue once.
My setup is the following:
I deploy a webservice application on Tomcat 7 available at the path ws_api. (https//host/ws_api)
This application implements a Handler(Filter) which is registered as a module and called before any request is processed by my businesslogic.
Within this handler I am calling the method MessageContext.getConfigurationContext().getServiceContextPath(), which should return the leading path for all my deployed services -> /ws_api/services
This works fine with java clients and SOAP UI.
However with a .NET webservice client making a webservice call, this method returns //ws_api/services. Which causes my implemented logic fail, as it relies on 1 slash. Obviously double slashes don't make sense for me. One solution would be to change my logic to be able to work with double slashes as well, however I would rather understand why it returns double slashes. As java webservice clients don't have any problems and work correctly.
An example endpoint url that gets called, would look like:
http://server/ws_api/services/PUBLIC_VA21/VA21/QueryService
I've already debugged the axis source code, but could not find any bugs.
Does anyone have clue, why axis returns two slashes instead of one?
In my axis2.xml configuration the parameter servicePath is set to services.
The parameter contextRoot is not set. Is this required?
Many thanks in advance,
Gotthard