Hi guys, I’m having a problem with Struts 1.2 and a IAS environment, the 
problem is as follow:
 
The application use Struts 1.2 and Hibernate 3 and OraclaeAS 10g (10.1.0.2). 
The Application works very well in the developer OAS, but doesn't in the 
production's OAS (two servers).
The problems occurss when the application need to do a ActionRedirect (redirect 
true), after a simple update/insert into the DB (with Hibernate). The flow is 
as follow: 1).- The "show_Product.do" is launched and it goes well and show the 
Product.jsp (with the show section actived). 2).- The user press the "Update" 
buttom, then the "edit_Product.do" action is executed and the Product.jsp is 
showed (with the edit section actived). 3).- The user modify the product info 
and press the "Save" buttom, then the "edit_Product.do" action is executed with 
the parameter "save" ..... then the action class calls to the "save" method of 
the ProductForm and the ActionRedirect is configured to point to 
"show_Product.do", after the commit to the DB the action is executed and 
"show_Product.do" show the Product.jsp with relevant changes included.
 
This normal process works very well in our developers environment IAS but 
doesn't in the production IAS. In the production environment the application 
committed the changes but the last ActionRedirect (show_Product.do) is not 
executed and the browser show a "Error Page" related to the connection 
problems, however the changes are committed correctly in the DB.
 
The worst is that I get no error log related to the problem.
 
After looking and looking for a error (in the App log, IAS log, http log, etc) 
I found (with a help of a snifer program) that the edit_Product.do action is 
creating the next ActionRedirect using the URL 
http://www.domain.com:7777/app/show_Product.do ... and this aproach fails 
becouse the www.domain.com is a DNS name that already has the :7777 configured 
at itself. This is a two IAS enviroment (server7.comp.com and server8.comp.com) 
and its behind a front web accessed by a single http://www.domain.com, in other 
words the ActionRedirect will not fails if the URL will be 
http://server7.comp.com:7777/app/show_Product.do, but Struts is adding the DNS 
domain.com and the physical port number where the app is installed. The 
application is only installed into the server7.comp.com IAS on port 7777 and is 
accessed using www.domain.com/app/index.jsp (port 80)... but there is a 
internal port change. More clearly: http://www.domain.com/app/index.jsp  --> 
Works http://www.domain.com:7777/app/index.jsp  --> Doesn't work <-- It's 
causing the error. http://server7.comp.com:7777/app/index.jsp  --> Works
 
http://192.168.1.50:7777/app/index.jsp --> Works <-- It’s the IP of server7 I'm 
doing the following in the method that build the next action: public 
ActionForward processActionForward(ActionMapping mapping, HttpServletRequest 
request, ActionForward forward) {
       ActionRedirect ar = new ActionRedirect("/show_Product.do");   // <--- 
I'm using relativity and redirect is true
       ar.addParameter("param1", "100"));
       ar.addParameter("param2", "month");return ar;} But when Struts execute 
the Forward (redirect true) after a POST .. then it adds the 
www.domain.com:7777 before the contextPath and the action url.How I can tell 
Struts doesn't add the :7777 port to the action URL and leave the correct 
www.domain.com/app?Or, how I can tell Struts that add the internal 
http://server7.comp.com:7777 before the contextPath and Action URL?Or What I 
can use to deal with this lame environment?
 
Can somebody help me?
Thanks in advance,
 
Hayrol Reyes
_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE

Reply via email to