[
https://issues.apache.org/jira/browse/CXF-2911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
jimma resolved CXF-2911.
------------------------
Resolution: Fixed
> HttpServletRequest.getScheme() returns null in one way webservice method
> -------------------------------------------------------------------------
>
> Key: CXF-2911
> URL: https://issues.apache.org/jira/browse/CXF-2911
> Project: CXF
> Issue Type: Bug
> Components: WS-* Components
> Affects Versions: 2.2.9
> Reporter: jimma
> Assignee: jimma
> Fix For: 2.3
>
>
> When this SEI is deployed in tomcat , the httpServletRequest.getScheme()
> returns null value:
> @Addressing(required=true)
> @WebService(serviceName = "SOAPService", endpointInterface =
> "org.apache.hello_world.Greeter", targetNamespace =
> "http://apache.org/hello_world")
> public class GreeterImpl implements Greeter {
> @Resource
> WebServiceContext wscontext;
> private String myName;
> public GreeterImpl() {
> this("defaultGreeter");
> }
> public GreeterImpl(String name) {
> myName = name;
> }
> public String greetMe(String me) {
> return "Hello " + me;
> }
> public String sayHi() {
> return "Bonjour from " + myName;
> }
> public void pingMe() {
> MessageContext msgContext = wscontext.getMessageContext();
> HttpServletRequest httpServletRequest =
> (HttpServletRequest)msgContext.get(MessageContext.SERVLET_REQUEST);
> System.out.println(httpServletRequest.getScheme());
> }
> }
> From the code , the WSA interceptor will create another thread to run the
> serviceInvoker interceptor and servlet thread (receives the http request)
> will cleanup the request information.
> The serviceInvoker in the new created thread always get null value from
> schemeMB.
> package org.apache.coyote;
> public final class Request{
> public void recycle() {
> bytesRead=0;
> contentLength = -1;
> contentTypeMB = null;
> charEncoding = null;
> headers.recycle();
> serverNameMB.recycle();
> serverPort=-1;
> localPort = -1;
> remotePort = -1;
> available = 0;
> cookies.recycle();
> parameters.recycle();
> unparsedURIMB.recycle();
> uriMB.recycle();
> decodedUriMB.recycle();
> queryMB.recycle();
> methodMB.recycle();
> protoMB.recycle();
> schemeMB.recycle();
> instanceId.recycle();
> remoteUser.recycle();
> authType.recycle();
> attributes.clear();
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.