rendered paste bodypackage 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();
}
}
}