HTTP Web Server on XPage for Bluemix - xpages

I have deployed an Xpage in Bluemix and binded a no-sql xpage database to the app. Anonymous has manager access to both the database. Anyone can create a document but once created cannot open the he document. It gives the following error:
Error 500
HTTP Web Server: Command Not Handled Exception
Can anybody help?

From your comment I can read that you are just having an XPage to create a document. When you open it you reference it only by the UNID and not calling the .xsp page with the UNID like
doc.xsp?docid=892D819ECE966BF486257E9B0037DB01&action=openDocument
Either you calculate the opening link this way OR you create a corresponding form and set it's properties to open the XPage when accessed through the browser.
But as I said: without any code sample this is just a guess.

Try to add a definition to your XPages application in your XSP properties file:
xsp.domino.form.xpage.<NAME OF THE FORM>=<NAME OF YOUR XPAGE>
f.e.
Form="foo", XPage="bar"
xsp.domino.form.xpage.foo=bar.xsp
Alternativly, create your own VirtualPageTransformer: http://hasselba.ch/blog/?p=1028

Related

Refresh data from oracle database on jsf page refresh in adf 12c

I am using jdeveloper 12c to build fusion web app with oracle 12c database.
My project is running fine in browser and also can be accessible on other system's browser via static IP.
When someone is accessing application in browser and enter some data in table, it saves in database but it doesn't reflects on my browser even after refreshing page until unless i rebuild my project.
How can i get data without rebuilding my project (I want to fetch all updated data through page refresh).
I don't want to create a method for this.
Browser page refresh doesn't call data querying. You need to call Execute on needed iterators. For instance you can start a taskflow with Execute method before showing user interface.
I am not sure but, use Execute of that particular VO after commiting the data.Before using Execute in java code you have to add Execute in page deinition or go to that particular table in page. use binding property under property inspector. create the binding as given #{backingBeanScope.popupBean.refresh} and call it in java as like this to refresh the data while saving in DB 'AdfFacesContext.getCurrentInstance().addPartialTarget(refresh);'
Only you need to add EXECUTE button from that specific table (of which you want to refresh data) operation in data control tab, and you can label it as REFRESH button.

Error when combining authenticated and anonymous access to one database

I have existing Xpages app for authenticated users only. Now I need to create a two new Xpages and allow annonymous access to them. To do this I added 'Read Public Access documents' do Anonymous user. Now I can see these 2 Xpages anonymously but sudenly existing non-anonymous part of application doesnt work anymore and app raises Dojo errors in browser as below. Scenario is like this:
Tested on Domino 9.01 and 9.0.1FP3 + Chrome with the same results
I open non-anonymous app in browser and authenticate, it works
correctly for now
from different browser I open the anonymous Xpage that works fine
also
now I refresh (F5 in browser) the non-anonymus app from point a) and it starts raise errors as below. I need to restart http to fix it.
I tested this scenario several times on my local and customers server with the same result. I found this http://www-01.ibm.com/support/docview.wss?uid=swg1LO76577 ... but is there any workaround for this scenario? Or how to combine anonymous and authenticated access in one app properly?
XHR finished loading: GET "http://localhost:8090/xsp/.ibmxspres/dojoroot-1.8.3/dojo/require.js"
XHR finished loading: GET "http://localhost:8090/xsp/.ibmxspres/dojoroot-1.8.3/ibm/xsp/widget/layout/layers/nls/xspClientDojo_cs.js".
dojo.js:15 Uncaught TypeError: Cannot read property 'dynamic' of undefined_bc # dojo.js:15_31 # dojo.js:15_f4 # dojo.js:15def # dojo.js:15(anonymous function) # xspClientDojo.js:5
That technote sounds wrong. I've had anonymous and authenticated access in an NSF running fine in production for many years, first deployed on 8.5.1.
My XPage is public access, but the custom control for the layout isn't.
I can't see how point 2 (another user opening on another browser) can impact it.
Based on the word "dynamic" in the error, do you have a dynamic content control in the relevant page? If you're on the same page when you authenticate, I would look at the code running after authentication and whether that changes JS variables or the component tree which means something is then not available to code running on load of the page.

Weird Xpages 404 The requested resource cannot be located error

I have an Xpages framework DB that I use to copy from and paste into other dbs.
I just did this and got a very bizarre error. Even if I create a brand new EMPTY Xpage in the database, I get the "Xpages 404 The requested resource cannot be located error" when previewing the Xpage in the client or the web.
I checked the logs and found this entry
7/2/14 11:22 AM: Exception Thrown
com.ibm.designer.runtime.domino.adapter.util.PageNotFoundException: Could not create the page /T.xsp because the class xsp.T could not be found. Please check your spelling.
at com.ibm.domino.xsp.module.nsf.NSFService.doService(Unknown Source)
What?
I have cleaned the db, changed the name of the Xpages, etc. All to no avail.
What is going on?
Is it an NSF or an NTF? NTFs cannot be previewed on the web - that's standard for Domino HTTP.
Are you certain the two errors are linked? As far as I know, a 404 error is an HTTP error, from the Domino HTTP task. That's triggered either immediately before or immediately after authentication is checked, and before the XPages runtime kicks in. It's not an XPages error. When an XPages error is logged, it generates an HTTP 500 error.
The other cause I've seen for a 404 error on a new XPage is if there were problems building the project. Then the error shows in Domino Designer for the XPage or a Custom Control on that XPage. But that's an XPage error on building the project in Domino Designer, which means the XPage resource is not available in the NSF for HTTP. (Think of it like saving a new LotusScript Script Library with errors, which it will let you do, then trying to call it from an agent.) It won't log an XPages error to the server console or XPages logs - HTTP won't find the XPage because its classes haven't been built, so it returns an HTTP error and doesn't start the XPages Command Manager.

XPages error when running in web browser and saving new document

So I've finally move my application from development(inaccessible through internet) server to production(accessible through internet) server and I got the following runtime error whenever I'm trying to save a document:
Error while executing JavaScript action expression
Script interpreter error, line=23, col=10: [TypeError] Exception occurred calling method NotesXspDocument.save() not allowed to access or modify file: C:\WINDOWS\TEMP\notesC053A6\xsppers\22\DHRRDLYBXJ
not allowed to access or modify file: C:\WINDOWS\TEMP\notesC053A6\xsppers\22\DHRRDLYBXJ
I've done some testing to see where this would occur and found that it only happen when running the application in a web browser (including the Notes 9 web browser) and creating a new document and saving it.
If I run the application via XPiNC, create a new document and save, I'm able to save the document. And this document can later be edited and saved whether in XPiNC or web browser.
I'm not aware of this problem because during development I usually only test in notes client. When it come to web browser, I'll just create a local copy to test because the development server does not allow access through web browser.
Is there any server setting that I should change? I'm not admin but I could inform my boss to change. Thanks.
EDIT
After further testing, I found that uploading a file could be causing the problem. My XPage has fileUpload control for user to upload attachment with the document. But since it worked on XPiNC I need to know why it doesn't work in web browser and the solution to this.
Check to see if the user running the service of the domino server has full access rights to the c:\windows\temp folder
If your server is running Windows 2008 and no specific user is added to run the service.
Make sure that both system and Services has full access to that folder.

Couchdb and dhtmlx library

I have created a small database (couchdb) and web page (html5 boilerplate). My end goal is to have the user click a button which will retrieve a particular view which will be rendered as a table using the dhtmlx library (http://dhtmlx.com/).
At this point I have the page initializing the table (grid) on page load. I am trying to load the data in to the table using 'mygrid.load(url,"json")' The documentation doesn't provide an example of url but I'm assuming it would the be couchdb url of the view. In my case that is: 127.0.0.1:5984/mydata/_design/mydata/_view/details. If I open that url in a browser, I see the data in json format.
{"total_rows":14,"offset":0,"rows":[
{"id":"90e77126ce592105891eba2bd4000143","key":"An","value":"addition to others"},
{"id":"90e77126ce592105891eba2bd4001106","key":"Changed","value":"Directories."},
. . .
{"id":"83001c900adeefe50928a24b98001733","key":"Yeah","value":"CSS kind of working. Guess I have express 3.0"}
]}
Needless to say:
mygrid.load("http://127.0.0.1:5984/mydata/_design/mydata/_view/details","json")
doesn't work. So:
a) Any ideas what I might be doing wrong?
b) Are there better libraries for what I'm trying to do with the grid? dhtmlx seems to be oriented to xml files, but it's what I was given.
Also check if your html is served from http:/ /127.0.0.1:5984. If it is not served from that address and port, than your javascript will not be able to issue request at all to http:/ /127.0.0.1:5984 because of Same origin policy
Sou you either have to serve your html from couchdb directly or use some proxy so that it appears they are served from same host and port.
It looks like dhtmlx supports JSON initialization:
http://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/12_initialization_loading/09_init_grid_json.html
You will probably need to write some custom JavaScript to massage the CouchDB view output into a format that the Grid initializer supports.

Resources