Not sure if I can reproduce this, but I am posting for anyone else that may come across this problem:
I am using JSF backing beans in my app, at some undetermined time, any changes I made to my beans was not being recognized when making calls to them. I was adding methods, changing methods, but whatever I did they were not recognised. I deleted them from the scope they were in, restarted HTTP, nothing. I then rebooted server, the changes were picked up. then I added a new method: Public String getSomeJunk(){return “Some junk”;} but again…nothing. Script interpreter error. MyBeanName.getSomeJunk() unrecognised method.
It’s like I didn’t have “Project\Build Automatically” enabled. So then I changed some of the beans variables, literally one character change. Public Class MyBean{ private String whatever = “change this to force save”;
…bingo, recognised. ??? No idea. If anyone knows, it would be great to know what I was doing wrong, but this took me a long tim eto figure out, so hopefully this will save someone some time.
Nick
P.S. I have solved the issue of client side javascript SOAP web service to backing bean.
Here’s how to call your web service:
I can’t get dojo and xhrget or xhrpost to work, but I have streamlined above code, so i just pass in my SOAP action and params.
I have JSF public bean actions MyBean.GetOrderDetails( String order_identifier) etc.
To get to those, I can go 2 ways:
- I have an itermediary “xpbeaninterace.xsp” page. This idea came to me via Wissel over at:
http://www.wissel.net/blog/d6plinks/SHWL-7MGFBN
This looks at incoming urls and params and then calls appropriate bean method and returns back whatever is required, since an XPage has direct access to the backing beans e.g.
…/xpbeaninterface.xsp?beanaction=GetOrderDetails&ordernumber=12345&returnformat=json&etc=blah
…so if you have some web client side dojo widget, just point the url to this xsp page with appropriate params.
- I have a java web service, one of the incoming params for this is always either the DomAuthSessId or lpta along with beanaction to perform and any other params. The web service then does HttpURLConnection POSTs to the xpbeaninterface, along with params, which does a getResponseMessage() from connection and passes back data. N.B. you can’t go directly from a java web service to thew backing bean, unless something has changed in 8.5.2 that I don’t know about.
I keep all the “actions” spelling consistent from the webservice to xpbeaninterface to the bean for simplicity.
So it all works, method 2 is slightly overkill, but my client wanted complete separation of client side and server side, all actions to be performed via web services. The down side is we have lost the RAD element of putting the XPage together, but its working so far!