API Quick Starts (Code Examples) > Forms Service API Quick Starts > Quick Start: Rendering by value using the web service API

Quick Start: Rendering by value using the web service API
The following Java quick start renders an interactive PDF form that is based on a form design named Loan.xdp by value. Notice that the form design is used to populate the BLOB object named inputXDP. (See Rendering Forms By Value.)
/*
 * 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 java.io.FileInputStream;
 
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.URLSpec;
import com.adobe.idp.services.holders.BLOBHolder;
import com.adobe.idp.services.holders.FormsResultHolder;
 
public class RenderByValue 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();
				
			//Specify the user name and password to invoke LiveCycle ES
			((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");
					
			//Specify file attachments to attach to the form
			FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\\Loan.xdp");
			BLOB inputXDP = new BLOB(); 
			int len = fileInputStream.available(); 
			byte []fileStream = new byte[len] ;
			fileInputStream.read(fileStream); 
			inputXDP.setBinaryData(fileStream); 
				  
			//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
			formsOb.renderPDFForm(
					  "",                  
					  inputXDP, 			     
					  new PDFFormRenderSpec(),        
					  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 objects 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 by value 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/000085_3.html