How to get PathInfoTokens in http binding on Fuse 6.2.1
Issue
We are using http binding in a service, registered to the context /MyService
. The service is therefore accessible at http://host:port/MyService
.
<sca:service name="MyService" promote="MyServiceBean/MService">
<sca:interface.java interface="my.custom.SOAService"/>
<http:binding.http name="http1">
<sy:operationSelector operationName="process"/>
<http:contextMapper class="my.custom.service.impl.MyServiceHttpContextMapper"/>
<http:contextPath>MyService</http:contextPath>
</http:binding.http>
</sca:service>
The binding is working fine but we have the need to pass some PathInfoTokens in the requested URL. We are supposed to receive calls like the following one:
http://host:port/MyService/some/path
The call is being correctly forwarded to our service by the HTTPBinding but we need to access the path information (/some/path
in the example) which should make our service behave differently depending on the value being passed there. We tried to use an HTTPContextMapper but the information is not directly accessible through the HttpBinginData, but there is no API to get that information in HTTPBindingData. HttpBindingData has a RequestInformation and the RequestInformation has the desired PathInfoTokens.
How can we access the PathInfoTokens in the HTTPRequest, and make them get to our bean implementation?
Environment
- Red Hat JBoss Fuse
- 6.2.1
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.