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