Hi,

We are currently using opencmis-bridge 0.10. Based on corporate policy, all 
request to CMIS need to go through ESB servers. The high level data flow is:   
client->ESB->OpenCMIS-Bridge->CMIS Server

I am trying to add a filter for atompub to update the 
"org.apache.chemistry.opencmis.baseurl" with ESB base url, the code snip as 
below:

    public void doFilter(ServletRequest request, ServletResponse response, 
final FilterChain chain) throws IOException,
            ServletException {

        // check for request header
        if (request instanceof HttpServletRequest) {
              HttpServletRequest httpRequest = (HttpServletRequest)request;
              String esbURL = httpRequest.getHeader("ESBURL");
              if (esbURL != null) {
                     
request.setAttribute("org.apache.chemistry.opencmis.baseurl", esbURL);
              }
        }

        // call next
        chain.doFilter(request, response);
}

Web.xml as below
<filter>
              <filter-name>ESB</filter-name>
              <filter-class>mytest.ESBFilter</filter-class>
       </filter>
       <filter-mapping>
              <filter-name>ESB</filter-name>
              <servlet-name>cmisatom</servlet-name>
   </filter-mapping>

However, when I tested it with "ESBURL" header value 
"http://esbserver:1234/cmis/atom";, the returned url missed the repositoryid 
part.
i.e.  I send a request  http://localhost:7001/cmis/atom and the result supposed 
to return all repositories href as below:

<app:workspace>
                                <atom:title>DevOS1</atom:title>
                                <app:collection 
href="http://localhost:7001/cmis/atom/DevOS1/children?id=idf_0F1E2D3C-4B5A-6978-8796-A5B4C3D2E1F0";>
...........................
...........................
<app:workspace>
                                <atom:title>DevOS2</atom:title>
                                <app:collection 
href="http://localhost:7001/cmis/atom/DevOS2/children?id=idf_0F1E2D3C-4B5A-6978-8796-A5B4C3D2E1F0";>
...................

But in fact, it returns

<app:workspace>
                                <atom:title>DevOS1</atom:title>
                                <app:collection 
href="http://localhost:7001/cmis/atom/children?id=idf_0F1E2D3C-4B5A-6978-8796-A5B4C3D2E1F0";>
...........................
...........................
<app:workspace>
                                <atom:title>DevOS2</atom:title>
                                <app:collection 
href="http://localhost:7001/cmis/atom/children?id=idf_0F1E2D3C-4B5A-6978-8796-A5B4C3D2E1F0";>
...................


Did I missed something?

Thanks
Wentao



________________________________
This email and its attachments are intended solely for the personal use of the 
individual or entity named above. Any use of this communication by an 
unintended recipient is strictly prohibited. If you have received this email in 
error, any publication, use, reproduction, disclosure or dissemination of its 
contents is strictly prohibited. Please immediately delete this message and its 
attachments from your computer and servers. We would also appreciate if you 
would contact us by a collect call or return email to notify us of this error. 
Thank you for your cooperation.
-BCHydroDisclaimerID5.2.8.1541

Reply via email to