JAVA访问C#写的WEBSERVICE时传入byte数组怎么处理!
如题好像C#这边[WebMethod(Description="1:成功,2:失败")]publicintReceiveData(stringpName,stringnP...
如题 好像C#这边
[WebMethod(Description = "1:成功,2:失败")]
public int ReceiveData(string pName, string nPrice, string sDescription, byte[] sReceive)
这样写的话
JAVA这边
SoapObject rpc = new SoapObject("http://tempuri.org/", "ReceiveData");//WebService 方法名
rpc.addProperty("pName", CommVar.getGOOD_NAME());
rpc.addProperty("nPrice", CommVar.getGOOD_PRICE());
rpc.addProperty("sDescription", CommVar.getGOOD_EXPLAIN());
rpc.addProperty("sReceive", CommVar.picByte);
好像调用不到方法 最后sReceive的类型如果换成string马上就可以被调用
我怀疑是数组的问题 所以 大家有做过这类东西的话帮帮忙吧 很急 谢谢!!! 展开
[WebMethod(Description = "1:成功,2:失败")]
public int ReceiveData(string pName, string nPrice, string sDescription, byte[] sReceive)
这样写的话
JAVA这边
SoapObject rpc = new SoapObject("http://tempuri.org/", "ReceiveData");//WebService 方法名
rpc.addProperty("pName", CommVar.getGOOD_NAME());
rpc.addProperty("nPrice", CommVar.getGOOD_PRICE());
rpc.addProperty("sDescription", CommVar.getGOOD_EXPLAIN());
rpc.addProperty("sReceive", CommVar.picByte);
好像调用不到方法 最后sReceive的类型如果换成string马上就可以被调用
我怀疑是数组的问题 所以 大家有做过这类东西的话帮帮忙吧 很急 谢谢!!! 展开
3个回答
展开全部
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
getBytesFromFile(new File("C:\\aaa.txt"));
}catch(IOException e){
System.out.println("IOException");
}
}
// 返回一个byte数组
public static byte[] getBytesFromFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
// 获取文件大小
long length = file.length();
if (length > Integer.MAX_VALUE) {
// 文件太大,无法读取
throw new IOException("File is to large "+file.getName());
}
// 创建一个数据来保存文件数据
byte[] bytes = new byte[(int)length];
// 读取数据到byte数组中
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}
// 确保所有数据均被读取
if (offset < bytes.length) {
throw new IOException("Could not completely read file "+file.getName());
}
// Close the input stream and return bytes
is.close();
return bytes;
}
}
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
getBytesFromFile(new File("C:\\aaa.txt"));
}catch(IOException e){
System.out.println("IOException");
}
}
// 返回一个byte数组
public static byte[] getBytesFromFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
// 获取文件大小
long length = file.length();
if (length > Integer.MAX_VALUE) {
// 文件太大,无法读取
throw new IOException("File is to large "+file.getName());
}
// 创建一个数据来保存文件数据
byte[] bytes = new byte[(int)length];
// 读取数据到byte数组中
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}
// 确保所有数据均被读取
if (offset < bytes.length) {
throw new IOException("Could not completely read file "+file.getName());
}
// Close the input stream and return bytes
is.close();
return bytes;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询