Groups > Weblogic > WebLogic Portal > Re: mime types / wsrp




Re: mime types / wsrp

Re: mime types / wsrp
Tue, 13 May 2008 01:00:52 -070
This can be solved in different ways.
1) You can use custom data transfer.please go through the below link 
[u]http://edocs.beasys.com/wlp/docs81/wsrp/custxfer.html[/u]

2) Use resource url tag library in your view on producer.

3) User resource proxy servlet on Consumer.
    <!-- Proxy servlet to serve resources from producers   --> 
    <servlet>
       
<servlet-name>com.bea.wsrp.consumer.resource.ResourceProxyServlet</serv
let-name>
       
<servlet-class>com.bea.wsrp.consumer.resource.ResourceProxyServlet</ser
vlet-class>
        
       <init-param>
            <param-name>resourceHeaderFilter</param-name>
           
<param-value>com.bea.wsrp.consumer.resource.CustomResourceHeaderFilter<
/param-value>
        </init-param>         
    </servlet>

CustomResourceHeaderFilter.java:
package com.bea.wsrp.consumer.resource;

//import com.bea.p13n.util.debug.*;
import com.bea.wsrp.consumer.resource.ResourceHeaderFilter;
import com.bea.wsrp.consumer.resource.ResourceHeaders;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.ServletContext;
import java.util.*;

/**
 *
 */
public class CustomResourceHeaderFilter implements ResourceHeaderFilter
{
   private static final HashSet requestHeadersToSkip = new HashSet();

   // Debug
   //private static final Debug debug
=Debug.getInstance(DefaultResourceHeaderFilter.class);
   private static final Logger LOGGER =
LoggerHelper.getLogger(CustomResourceHeaderFilter.class);
   // By default, the following request headers will not be proxied private
static final HashSet requestHeadersToSkip = new HashSet();
   static
   {
        //requestHeadersToSkip.add("get");
	   //requestHeadersToSkip.add("post");
	   //requestHeadersToSkip.add("host");
	   //requestHeadersToSkip.add("cookie");
	   //requestHeadersToSkip.add("expect");
   } 

   public ResourceHeaders getPassThroughHeaders(HttpServletRequest request,
ServletContext context, String url)
   {   
	   //request.getSession().getId()
      ResourceHeaders passThroughHeaders = new ResourceHeaders(); List
passThroughValues;
      // All headers
      Enumeration headerNames = request.getHeaderNames();
      while(headerNames.hasMoreElements())
      {
         String name = (String) headerNames.nextElement();
         if(requestHeadersToSkip.contains(name.toLowerCase()))
         {
            continue;
         }
         passThroughValues = new LinkedList();
         Enumeration values = request.getHeaders(name);
         while(values.hasMoreElements())
         {
            String value = (String) values.nextElement();
            LOGGER.info("[Sending] " + name + ": " +
value);
            passThroughValues.add(value);
         }
         if (passThroughValues.size() > 0)
         {
            passThroughHeaders.addHeader(name, passThroughValues);
         }
      }
      return passThroughHeaders;
   }
   
Post Reply
about | contact