HPOSSOD 1.0 Technical Note

HP Web Services for Output Server 47
Using HP Web Services for Output Server
Sample clients
"<operation-attributes>" +
//Mandatory
"<wsg-job-handle>"+jobHandle+"</wsg-job-handle>" +
//Mandatory only for last document
"<last-document>true</last-document>" +
"</operation-attributes>"+
/*request-attributes
*Document Attributes are added to request-attribute tag
*/
"<request-attributes>" +
//Mandatory
"<document-filename>invoice.pdf</document-filename>" +// spec-
ify only file name
"<copy-count>2</copy-count>"+
"</request-attributes>"+
"</wsg-request> ";
//Call createDocument() API
String createDocumentResponse=port.createDocument(documentContract);
/* Parse the createDocumentResponse and get Documenthandle*/
//here we are using Parser Object
parser=new Parser(createDocumentResponse);
// Parse operational-attributes tag and get JobHandle
aset=parser.parseDocument("operation-attributes");
String documentHandle=aset.getValue("wsg-doc-handle");
System.out.println("documentHandle : "+documentHandle);
/*we can use this Document Handle to send multiple documents with
chunks*/
// send Document in chunks
sendChunks(doc,documentHandle,true);
}
/** Sends document in chunks
*@param filePath FilePath to send in chunks
*@param docHandle Document Handle that gets from createDocument() API
*@param checkSum Perform checkum
*/
public void sendChunks( String filePath,String docHandle, boolean check-
Sum)throws Exception{
InputStream is=new FileInputStream(new File(filePath));
int chunkSize=5;//in MB
int chunks=is.available()/(chunkSize*1024*1024);
int rem=is.available()%(chunkSize*1024*1024);
if (rem>0) chunks++;
DocumentData da=null;
chunkSize=chunkSize*1024*1024;//bytes