[ 
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.

Reply via email to