Recebendo arquivo através de web service e gravando em novo local?!?!

Galera, estou precisando de uma ajuda…

como faço para neste código abaixo que é meu serviço (Web Service), pegar o arquivo que esta sendo enviado pelo meu cliente (a classe UseWS e gravar este arquivo em outro local?!?!?!?!?

import java.util.Iterator;

import javax.activation.DataHandler;

import org.apache.axis.MessageContext;
import org.apache.axis.attachments.AttachmentPart;


import java.io.FileOutputStream;



/**
 * @author rafael
 * 
 */
public class Calculator {

	public int somar(int numA, int numB) {
		return numA + numB;
	}

	public int subtrair(int numA, int numB) {
		return numA - numB;
	}

	public int multiplicar(int numA, int numB) {
		return numA * numB;
	}

	public int dividir(int numA, int numB) {
		if (numB != 0) {
			return numA / numB;
		}
		return 0;
	}

	public void gravaArquivo() {
		Iterator attachment = MessageContext.getCurrentContext()
				.getCurrentMessage().getAttachments();
		AttachmentPart attachmentPart = (AttachmentPart) attachment.next();

		try {

			FileOutputStream fileOutputStream = new FileOutputStream(
					"\arquivo.txt");

			DataHandler dataHandler = attachmentPart.getDataHandler();
			dataHandler.writeTo(fileOutputStream);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			//e.printStackTrace();
			 System.out.println(e);
		}
	}
}

cliente

import javax.activation.DataHandler;
import javax.activation.FileDataSource;

import org.apache.axis.client.Call;

import localhost.axis.Calculator_jws.Calculator;
import localhost.axis.Calculator_jws.CalculatorProxy;
import localhost.axis.Calculator_jws.CalculatorService;
import localhost.axis.Calculator_jws.CalculatorServiceLocator;
import localhost.axis.Calculator_jws.CalculatorSoapBindingStub;

/**
 * 
 */

/**
 * @author rafael
 * 
 */
public class UseWS {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			CalculatorService service = new CalculatorServiceLocator();
			Calculator calc = service.getCalculator();
			CalculatorProxy cProxy = new CalculatorProxy();
			
			java.net.URL endpoint = new java.net.URL(cProxy.getEndpoint());
			
			CalculatorSoapBindingStub calculatorSoapBindingStub = new CalculatorSoapBindingStub(
					endpoint, service);
			
			DataHandler attachmentFile = new DataHandler(new FileDataSource(
					"c:\Projetos\TesteWebServiceAXIS\arquivo2.txt"));
			
			calculatorSoapBindingStub._setProperty(
					Call.ATTACHMENT_ENCAPSULATION_FORMAT,
					Call.ATTACHMENT_ENCAPSULATION_FORMAT_MIME);
			
			calculatorSoapBindingStub.addAttachment(attachmentFile);
			
			System.out.println("SOMA: " + calc.somar(2, 2));
			System.out.println("SUBTRAIR: " + calc.subtrair(3, 2));
			System.out.println("MULTIPLICAR: " + calc.multiplicar(2, 2));
			System.out.println("DIVIDIR: " + calc.dividir(4, 2));
			

		} catch (Exception ex) {

			ex.printStackTrace();
		}
	}
}

ou alguém pode me dize porque este código nao esta funcionando

ele só funciona a parte dos metodos de soma, subtracao, divisao e multiplição. o metodo de gravaArquivo() nao da resultado nenhum…

no meu console só mostra isso:

SOMA: 4
SUBTRAIR: 1
MULTIPLICAR: 4
DIVIDIR: 2
log4j:WARN No appenders could be found for logger (org.apache.axis.components.threadpool.TaskManagerFactory).
log4j:WARN Please initialize the log4j system properly.

e o arquivo a ser gravado nada

alguem pode me ajudar??

Você nao teria que chamar calc.gravarArquivo()?

Não duplique tópicos.

http://www.guj.com.br/posts/list/55176.java