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