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.

Reply via email to