API Quick Starts (Code Examples) > Forms Service API Quick Starts > Quick Start: Rendering a form at the client using the web service API

Quick Start: Rendering a form at the client using the web service API
The following code example renders a form at the client using the Forms web service API. The form design named Loan.xdp is located in the C:\Adobe folder. (See Rendering Forms at the Client.)
/*
 * Ensure that you create the Java proxy classes to use 
 * base64 encoding. This is required to populate a BLOB 
 * object with data or retrieve data from a BLOB object.
 * 
 * For information, see "Creating Java proxy classes using Apache Axis" 
 * in Programming with LiveCycle ES.  
 */
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import javax.xml.rpc.holders.LongHolder;
import javax.xml.rpc.holders.StringHolder;
import com.adobe.idp.services.BLOB;
import com.adobe.idp.services.FormsService;
import com.adobe.idp.services.FormsServiceServiceLocator;
import com.adobe.idp.services.PDFFormRenderSpec;
import com.adobe.idp.services.RenderAtClient;
import com.adobe.idp.services.URLSpec;
import com.adobe.idp.services.holders.BLOBHolder;
import com.adobe.idp.services.holders.FormsResultHolder;
 
 
public class RenderPDFFormClientWS extends HttpServlet implements Servlet {
 
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException, IOException {
			doPost(req,resp);
		}
 
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException, IOException {
			
		try{
		
			com.adobe.idp.services.FormsServiceServiceLocator sl = new FormsServiceServiceLocator();
			FormsService formsOb = sl.getFormsService();
				
			((javax.xml.rpc.Stub)formsOb)._setProperty(javax.xml.rpc.Stub.
			USERNAME_PROPERTY, "administrator");
			((javax.xml.rpc.Stub)formsOb)._setProperty(javax.xml.rpc.Stub.
			PASSWORD_PROPERTY, "password");
									  
			//Set run-time options required to render a form on the client
			PDFFormRenderSpec pdfRenderSpec = new PDFFormRenderSpec(); 
			pdfRenderSpec.setRenderAtClient(RenderAtClient.Yes);
						
			//Specify URI values used by the Forms service
			URLSpec uriValues = new URLSpec(); 
			uriValues.setApplicationWebRoot("http://localhost:8080/FormsWSQS");
			uriValues.setContentRootURI("C:\\Adobe");
			uriValues.setTargetURL("http://localhost:8080/FormsWSQS/HandleData");
						
			//Create class holder objects				
			BLOBHolder outRenderPDFFormResultDoc = new BLOBHolder(); 
			FormsResultHolder formsResult = new FormsResultHolder(); 
			LongHolder longHolder = new LongHolder(); 
			StringHolder stringHolder = new StringHolder();  
								
			//Invoke the renderPDFForm method to render 
			//an interactive PDF form on the client
			formsOb.renderPDFForm(
					  "Loan.xdp",                  
					  null, 			     
					  pdfRenderSpec ,        
					  uriValues,				
					  null, 					
					  outRenderPDFFormResultDoc,
					  longHolder,
					  stringHolder,
					  formsResult); 
		
			//Create a BLOB object that contains form data
			BLOB formData = formsResult.value.getOutputContent();
				
			//Get the content type of the response and
			//set the HttpServletResponse object’s content type
			String contentType = formData.getContentType();
			resp.setContentType(contentType);
		
			//Create a ServletOutputStream object
			ServletOutputStream oOutput = resp.getOutputStream();
							
			//Create a byte array that stores form data in the BLOB object
			byte[] cContent = formData.getBinaryData();
		
			//Write a byte stream back to the web browser. 
			//Pass the byte array
			oOutput.write(cContent);
						  
		}catch (Exception e) {
			 System.out.println("The following error occurred during this operation " +e.getMessage());
			}	
	}
}

API Quick Starts (Code Examples) > Forms Service API Quick Starts > Quick Start: Rendering a form at the client using the web service API

Programming with LiveCycle ES (LiveDocs)
Adobe LiveCycle ES Update 1

 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/000069.html