If you are aren't on a recent version of Wonder, you need to be for this to
work - Ajax in servlet. Probably fixed about a year ago.
On Tue, May 19, 2015 at 4:14 PM Kevin Hinkson <k...@coralstone.co> wrote:

> Hi,
> I am attempting to deploy a web page where the page uses an
> AjaxFlexibleFileUpload component. This works in the development setup.
> However, once the page with the AjaxFlexibleFileUpload loads on the server
> the two XHRs that run come back with 200 responses but they are completely
> empty of content. This results in no file dialog appearing when a user
> attempts to select an image for upload.
>
> The errors that show in the browser JS console are
> "JSONRpcClientException: error parsing result”, ReferenceError: Can't find
> variable: jsonrpc_0 and  ReferenceError: Can't find variable: jsonrpc_1.
>
> My local development setup is a (reverse) proxy through NGINX. The
> deployment is to a AWS Elastic Beanstalk, in Tomcat 7, Java 7 which uses
> Apache as a reverse proxy.
>
> I’ll admit I know very little about WebObjects and Ajax. It is not clear
> to me that I have all the correct steps for using Ajax components. One
> thing I did was to override pageWithName in the Application class.
>
> @Override
> public WOComponent pageWithName(String name, WOContext context)
> {
>     log.error("application pageWithName " + name + " " + context);
>     WOComponent page = super.pageWithName(name, context);
>     log.error("got page " + page);
>     return page;
> }
>
> I noticed that when run locally there is nothing in the logs for the XHR
> requests because they load fine. However, when deployed to a Beanstalk
> instance I get the following.
>
> ERROR 20:32:35 (com.adnero.finance.web.Application:?)  -application
> pageWithName null <er.extensions.appserver.ERXWOServletContext contextID=0
> requestSenderID=0.17.1.1.1.0.1 elementID=null
> sessionID=GpMB9KKAiBu1Rdv4MqVNu0
> request=<er.extensions.appserver.ERXRequest
> (<er.extensions.appserver.ERXRequest httpVersion=HTTP/1.0
> headers={accept=[*/*], accept-encoding=[gzip, deflate],
> accept-language=[en-us], connection=[Keep-Alive], content-length=[50],
> content-type=[text/plain],
> cookie=[JSESSIONID=727EEEFD467421EFD51BB2A65A0707BF], dnt=[1],
> host=[replaced.host.url], origin=[http://replaced.host.url], referer=[
> http://replaced.host.url/WebObjects/AdneroWeb.woa/wo/0.0.0.17.1],
> remote_addr=[104.200.104.189], user-agent=[Mozilla/5.0 (Macintosh; Intel
> Mac OS X 10_10_3) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/8.0.6
> Safari/600.6.3], x-forwarded-host=[replaced.host.url],
> x-forwarded-server=[ip-172-31-26-217.ec2.internal],
> x-requested-with=[XMLHttpRequest], x-webobjects-adaptor-version=[5.2],
> x-webobjects-servlet-server-name=[replaced.host.url],
> x-webobjects-servlet-server-port=[80]} content-length=50 cookies=null
> userInfo={ServletConfig=org.apache.catalina.core.StandardWrapperFacade@7f127e0,
> ServletContext=org.apache.catalina.core.ApplicationContextFacade@6970e732,
> HttpServletRequest=org.apache.catalina.connector.RequestFacade@2b18fb03,
> HttpServletResponse=org.apache.catalina.connector.ResponseFacade@7507980f}
> storePageInBacktrackCache=true >) method=POST
> uri=/WebObjects/AdneroWeb.woa/ajax/0.0.17.1.1.1.0.1
> defaultFormValueEncoding=UTF-8 formValueEncodingDetectionEnabled=NO
> formValueEncoding=UTF-8 formValues={WOIsmapCoords =
> ("{"id":1,"method":"system.listMethods","params":[]}"); } > response=null
> pageElement=null pageComponent=null currentComponent=null
> url=/WebObjects/AdneroWeb.woa urlApplicationNumber=-1
> distributionEnabled=false pageChanged=false pageReplaced=false>
>
> ERROR 20:32:35 (com.adnero.finance.web.Application:?)  -got page
> <com.adnero.finance.web.pages.Main name: com.adnero.finance.web.pages.Main
> subcomponents: null >
>
>
> I am guessing that this differences means that the ajax requests are not
> being handled by the Ajax Handler but are getting caught by the default
> handler or that they are falling back to pageWithName, (which then falls
> back to Main.class) when they should not be?
>
> My apache config for the proxy looks like this:
>
> RewriteEngine On
>
> RewriteCond %{REQUEST_URI} ^/WebObjects/Frameworks/ [NC]
> RewriteRule ^/WebObjects/Frameworks/(.+)$
> /WebServerResources/Frameworks/$1 [PT]
>
> RewriteCond %{REQUEST_URI} ^/WebObjects/Contents/ [NC]
> RewriteRule ^/WebObjects/Contents/(.+)$ /WebServerResources/Contents/$1
> [PT]
>
> RewriteCond %{REQUEST_URI}
> ^/WebObjects/AdneroWeb.woa/Contents/WebServerResources/ [NC]
> RewriteRule ^/WebObjects/AdneroWeb.woa/Contents/WebServerResources/(.+)$
> /WebServerResources/Contents/WebServerResources/$1 [PT]
>
> RewriteCond %{REQUEST_URI} ^/ishealthy$ [NC]
> RewriteRule ^/ishealthy$
> /WebObjects/AdneroWeb.woa/ra/Healthcheck/ishealthy [PT]
>
> <Proxy *>
>     Order deny,allow
>     Allow from all
> </Proxy>
>
> ProxyPass / http://localhost:8080/ retry=0
> ProxyPassReverse / http://localhost:8080/
> ProxyPreserveHost on
>
> LogFormat "%h (%{X-Forwarded-For}i) %l %u %t \"%r\" %>s %b \"%{Referer}i\"
> \"%{User-Agent}i\""
> ErrorLog /var/log/httpd/elasticbeanstalk-error_log
> TransferLog /var/log/httpd/elasticbeanstalk-access_log
>
>
>
> I am completely lost as to what to try next. Any help in identifying why
> the Ajax requests are not being handled properly would be appreciated.
>
>
>
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
>
> https://lists.apple.com/mailman/options/webobjects-dev/johnthuss%40gmail.com
>
> This email sent to johnth...@gmail.com
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to