You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "jimma (JIRA)" <ji...@apache.org> on 2010/07/29 08:33:19 UTC
[jira] Resolved: (CXF-2911) HttpServletRequest.getScheme() returns
null in one way webservice method
[ 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.