Antw: wrong URL for resource rendering if using different "root context" > BUG in URLRewriterUtils.getClientContextPath()!?

Posted by Karolin Heiss on
URL: https://discuss.orbeon.com/Strange-behaviour-on-Orbeon-3-7-1-tp1561469p1576272.html

Hey,

I investigated the issue.
For me it looks like a bug of
org.orbeon.oxf.util.URLRewriterUtils.getClientContextPath().

Hope Orbeon specialists can help with this problem:


The resource URLs like /xforms-server/xforms-yuicalendar-min.css get
rewritten depending on the context.


In separate deploment URLRewriterUtils.getClientContextPath() builds
the client context path like that:

   javax.servlet.forward.context_path + orbeon context path


javax.servlet.forward.context_path is our portal context-root
"myportal". So all resources get rewritten with /myportal/Orbeon/ and
our resource becomes:

   src="/myportal/orbeon/xforms-server/xforms-yuicalendar-min.js"



But javax.servlet.forward.context_path is not the source context path
of the Orbeon resources. So the resources are not found and the source
code can't get rendered properly.

With a hack I solved the problem, by setting
"oxf.xforms.renderer.deployment" to "integrated" in OrbeonXFormsFilter.
So URLRewriterUtils.getClientContextPath() doesn't build the client
context path with the source context path red out of
"javax.servlet.forward.context_path". But this is not the solution and I
dont know the side effects of this hack.

Hope Orbeon specialists know better ways to solve the problem?


Karolin






>>> "Hubert Felber" <[hidden email]> 3/2/2010 10:48  >>>
Hi,

We deployed  Orbeon on Liferay in JBoss Container.
This worked fine until we changed the root context  from
"localhost:8080/" to "localhost:8080/myportal/"

Neither the orbeon samples nor our own portlets rendered correctly. We
saw the famous

   Loading...
   An error has occurred

   You may want to try one of the following:
   ....

Now the orbeon samples work again, but still our own portlets show the
error above.

The steps we did so far:

-adding to liferay's  jboss-web.xml
<context-root>myportal </context-root>

-adding to liferay's portal-ext.properties
portal.ctx=/myportal

Then we reached the point mentionend above.

-adding to liferay's web.xml
        <context-param>
                <param-name>root_path</param-name>
                <param-value>/myportal </param-value>
        </context-param>

made the Orbeon samples working again, (hurrah) but our own portlets
in
our webui.war still show the error.

I have no idea, what happens and would be glad if anybody helped me.

Looking at the source of a orbeon sample html page, I see that
resources are loaded from
href="/orbeon/xforms-server/xforms-yuicalendar-min.css"

The portlets in our own webui.war try to load the same resource from
src="/myportal/orbeon/xforms-server/xforms-yuicalendar-min.js">

the additional "myportal" in the path is the problem and I don't know
how to solve this.

Can anybody please help?

Thanks a lot
Hubert





--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws