Hi Everybody,

Some of the CGI headers are missing in the HttpConnector component. The
HttpMarshaler.java  file could include the following piece of code: This
would help in the identification of clients.

Best regards
Soumadeep

Class: HttpMarshaler.java

Method 1:
    protected void addNmsProperties(MessageExchange exchange,
HttpServletRequest request) {
        Enumeration enumeration = request.getHeaderNames();
        while (enumeration.hasMoreElements()) {
            String name = (String) enumeration.nextElement();
            String value = request.getHeader(name);
            exchange.setProperty(name, value);
        }
                exchange.setProperty("REMOTE_ADDR",request.getRemoteAddr());
                exchange.setProperty("REMOTE_HOST",request.getRemoteHost());
                exchange.setProperty("REMOTE_USER",request.getRemoteUser());
    }

Method 2:
    public void toNMS(MessageExchange exchange, NormalizedMessage inMessage,
HttpServletRequest request) throws IOException, MessagingException {
        addNmsProperties(exchange, request);
        String method = request.getMethod();
        if (method != null && method.equalsIgnoreCase("POST")) {
            inMessage.setContent(new
StreamSource(request.getInputStream()));
        }
        else {
            Enumeration enumeration = request.getParameterNames();
            while (enumeration.hasMoreElements()) {
                String name = (String) enumeration.nextElement();
                String value = request.getParameter(name);
                inMessage.setProperty(name, value);
            }
                        
inMessage.setProperty("REMOTE_ADDR",request.getRemoteAddr());
                        
inMessage.setProperty("REMOTE_HOST",request.getRemoteHost());
                        
inMessage.setProperty("REMOTE_USER",request.getRemoteUser());
            inMessage.setContent(EMPTY_CONTENT);
        }
    }


Reply via email to