package com.procergs.apm.webservice; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.MalformedURLException; import org.codehaus.xfire.XFireRuntimeException; import org.codehaus.xfire.client.Client; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.fault.XFireFault; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; /** * Cliente do serviço Arquivo. * * Obtém uma instância do serviço Arquivo e obtém um arquivo do servidor. * */ public class Cliente { public static void main(String[] args) { try { // Obtém o serviço Service serviceModel = new ObjectServiceFactory().create(Arquivo.class, "Arquivo", "http://linpro152javad2:17074/Arquivo", null); Arquivo service = (Arquivo) new XFireProxyFactory().create( serviceModel, "http://localhost:8080/testexf/services/Arquivo"); // Habilita o MTOM do lado cliente Client client = Client.getInstance(service); client.setProperty("mtom-enabled", "true"); client.setProperty(HttpTransport.CHUNKING_ENABLED, "true"); // Obtém o conteúdo do arquivo e cria localmente byte[] bytes = service.obtem("arquivo2.txt"); OutputStream out = new FileOutputStream("C:\\arquivo.txt"); out.write(bytes); out.flush(); out.close(); } catch (ArquivoException e) { System.out.println("ArquivoException"); e.printStackTrace(); } catch (XFireRuntimeException exc) { XFireFault xf = (XFireFault)exc.getCause(); System.out.println("XFireRuntimeException"); System.out.println("LocalPort: " + xf.getFaultCode().getLocalPart()); System.out.println("Prefix: " + xf.getFaultCode().getPrefix()); System.out.println("Reason: " + xf.getReason()); System.out.println("Message: " + xf.getMessage()); System.out.println("Detail: " + xf.getDetail().getText()); //System.out.println("FaultCode: " + exc.getFaultCode()); //System.out.println("FaultMessage: " + exc.getMessage()); //exc.printStackTrace(); } catch (MalformedURLException exc) { System.out.println("MalformedURLException"); exc.printStackTrace(); } catch (FileNotFoundException exc) { System.out.println("FileNotFoundException"); exc.printStackTrace(); } catch (IOException exc) { System.out.println("IOException"); exc.printStackTrace(); } } }