一般我们webservice的方法参数或返回值为byte类型的时候,在生成的客户端代码里的参数却是DataHandler,为此我纠结了好久。网上查的全是什么图片上传,其实我就想传递一个简单的字符串的字节码,跟什么文件上传屁兜不打岔。最后我弄出来了。上代码,以便以后使用。
package com.imp;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import javax.activation.DataHandler;
import javax.activation.DataSource;
public class TestMain {
public static void main(String[] args) throws Exception {
// Todo Auto-generated method stub
HelloDaoImpStub stub =new HelloDaoImpStub();
Say say =new Say();
String s="23323232";
byte[] b= s.getBytes();
say.setB(createDataHandler(b));
SayResponse response = stub.say(say);
DataHandler result = response.get_return();
System.out.println(result.getName());
}
public static DataHandler createDataHandler(final byte[] b) {
return new DataHandler(new DataSource() {
public InputStream getInputStream() {
return new ByteArrayInputStream(b);
}
public OutputStream getoutputStream() {
return null;
}
public String getContentType() {
return "";
}
public String getName() {
return "";
}
});
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。