199 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
HTML5 Canvas to PNG via RPC
Tue, Jun 21st 2016 12
Eternal fustrations with IBM "Help" - - this time trying to give them money
Mon, May 23rd 2016 7
Simple Example: Bootstrap
Tue, May 3rd 2016 7
Import CSVs into a Notes/XPage database
Thu, Mar 24th 2016 7
REST via Service Bean
Tue, Feb 16th 2016 5
Reversing the display order of a Multi-value field (XPages)
Wed, Jan 13th 2016 5
nhttp preview won't "switch ID"
Mon, Dec 7th 2015 5
Top 10
HTML5 Canvas to PNG via RPC
Tue, Jun 21st 2016 12
StartKeys for categorized viewPanel and number column
Sat, Jul 4th 2015 9
ComboBox - Validate so default value is not selected
Wed, Jul 1st 2015 8
Populate an InputText Date field (that has a calendar picker)
Fri, Jun 26th 2015 7
First 2 repeat values on the same row - a simple example
Thu, Jun 4th 2015 7
dataTable with Categories
Tue, Jul 14th 2015 7
dataTable column width
Tue, Jul 14th 2015 7
Bootstrap Progress Bars - sample database
Wed, Aug 12th 2015 7
Import CSVs into a Notes/XPage database
Thu, Mar 24th 2016 7
Simple Example: Bootstrap
Tue, May 3rd 2016 7


REST via Service Bean
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious
   


This is based on Custom REST service in Xpages using a service bean by Stephan Wissel. But it doesn't show actually getting prints from the method sent. My work partner Brian Hester  and I both tried at the same time and ended up getting it at the same time – we actually started IM-ing each other that we had it. And this is the day before Bernd Hort posted his presentation.

So to intercept the REST methods, so you can get prints like this:

02/11/2016 09:06:26 AM HTTP JVM: renderService
02/11/2016 09:06:26 AM HTTP JVM: rType: GET
02/11/2016 09:06:40 AM HTTP JVM: renderService
02/11/2016 09:06:40 AM HTTP JVM: rType: POST

Once you get the method, you can have the bean do whatever you would like. It's nice to have it all in one place.

Here is the bean:
package com.companyname;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.ibm.domino.services.ServiceException;
import com.ibm.domino.services.rest.RestServiceEngine;
import com.ibm.xsp.extlib.component.rest.CustomService;
import com.ibm.xsp.extlib.component.rest.CustomServiceBean;

publicclassDynamicViewService extendsCustomServiceBean {

publicvoidDynamicViewService(){

System.out.println("init...");

}

@Override
publicvoidrenderService(CustomService service, RestServiceEngine engine) throwsServiceException {
System.out.println("renderService");
HttpServletRequest request = engine.getHttpRequest();
HttpServletResponse response = engine.getHttpResponse();

response.setHeader("Content-Type", "application/json; charset=UTF-8");

// Here goes your code, get the response writer or stream
String rType = request.getMethod();
System.out.println("rType: "+ rType);
try{
response.getWriter().write("<html><body>"+ rType + "</body></html>");
response.getWriter().close();
return;
} catch(IOException e) {
// TODOAuto-generated catch block
System.out.println(e.toString());
return;
}
}

}


And here is the full Xpage:

<?xmlversion="1.0"encoding="UTF-8"?>
<xp:viewxmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xe="http://www.ibm.com/xsp/coreex">
<xe:restServiceid="JSONSearch"pathInfo="json"state="false">
<xe:this.service>
<xe:customRestService
contentType="application/json"
serviceBean="com.randstadusa.DynamicViewService">
</xe:customRestService>
</xe:this.service>
</xe:restService>
<xp:br></xp:br>
<xp:br></xp:br>
</xp:view>


---------------------
http://dominoherald.blogspot.com/2016/02/rest-via-service-bean.html
Feb 16, 2016
6 hits



Recent Blog Posts




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition