4
我是Java Web服務的新手,所以我可能會做錯事。Java Web服務:使用DataHandler類發送文件
我試圖轉移使用的DataHandler文件 - 這就是我的了:
Web服務:
import java.net.MalformedURLException;
import java.net.URL;
import javax.activation.DataHandler;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlMimeType;
/**
*
* @author pc1
*/
@WebService()
public class WSFileSender {
@WebMethod(operationName = "getfile")
public @XmlMimeType("application/octet-stream") DataHandler getfile(@WebParam(name = "path") String path) {
DataHandler datahandler = null;
try {
datahandler = new DataHandler(new URL(path));
}
catch (MalformedURLException e) {
System.out.println("Bad");
}
return datahandler;
}
}
客戶:
package fileclient;
import java.io.FileOutputStream;
import java.io.OutputStream;
import javax.activation.DataHandler;
/**
*
* @author pc1
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
fspg.WSFileSenderService service = new fspg.WSFileSenderService();
fspg.WSFileSender port = service.getWSFileSenderPort();
DataHandler handler = port.getfile("FileSender/file.jpg");
OutputStream out = new FileOutputStream("dest.jpg");
handler.writeTo(out);
out.close();
System.out.println("Done");
} catch (Exception ex) {
// TODO handle custom exceptions here
}
}
}
看來,就好像一切正常,但創建的文件是空的 - 我做錯了什麼?
================= EDIT ==================
的DataHandler對象通過返回GETFILE ()爲空 - 是不可能從webservice返回這個對象?
FileDataSource正常工作,謝謝 – zbigh 2009-11-06 12:28:42