Mercurial > hg > digilibservice
view client/src/main/java/info/textgrid/middleware/digilib/clients/cli/DigilibCli.java @ 8:99bd25677ba8
add server url parameter
author | casties |
---|---|
date | Thu, 16 Jun 2011 18:27:02 +0200 |
parents | 39c4892724ae |
children | 55bc70b1cb18 |
line wrap: on
line source
/** * */ package info.textgrid.middleware.digilib.clients.cli; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; import javax.xml.ws.Holder; import info.textgrid.namespaces.middleware.digilib.services.digilibservice.DigilibService; import info.textgrid.namespaces.middleware.digilib.services.digilibservice.DigilibServicePortType; /** * @author casties * */ public class DigilibCli { /** * @param args */ public static void main(String[] args) { if (args.length != 4) { System.err.println("use: DigilibCli SID URI QUERY FILENAME"); System.exit(1); } String sid = args[0]; String uri = args[1]; String query = args[2]; String filename = args[3]; URL serverUrl = null; try { serverUrl = new URL("http://r583-1.mpiwg-berlin.mpg.de:8080/digilibservice-service/service?wsdl"); } catch (MalformedURLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } System.out.println("service at " + serverUrl); // call service byte[] imageData = getScaledImage(sid, uri, query, serverUrl); // try to copy to file System.out.println("writing " + filename); File f = new File(filename); try { OutputStream ostream = new FileOutputStream(f); ostream.write(imageData); ostream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("Done."); } public static byte[] getScaledImage(String sid, String uri, String query, URL serverUrl) { DigilibService service = new DigilibService(serverUrl); DigilibServicePortType port = service.getDigilibServicePort(); String logParam = null; // Holder for return data Holder<String> mimeType = new Holder<String>(); Holder<byte[]> imageData = new Holder<byte[]>(); Holder<Integer> width = new Holder<Integer>(); Holder<Integer> height = new Holder<Integer>(); // call service -- fills Holder port.getScaledImage(sid, uri, query, logParam, mimeType, imageData, width, height); System.out.println("mimeType="+mimeType.value); System.out.println("imageData="+imageData.value); System.out.println("width="+width.value); System.out.println("height="+height.value); return imageData.value; } }