12,166
社区成员




有没有大侠知道啥原因,之前也没写过调webservice二维byte[][]参数的例子
需要调用的接口:
public String create(String strUserName, String sendTo,String copyTo, String blindCopyTo, String subject, String Body,byte[][] file, String[] fileName)
我这边请求的代码:
public static String call1(String url,String namespace,String methodName,Object[] paramObject) { String soapActionURI = namespace +"/"+ methodName; try { Service service = new Service(); SOAPHeaderElement header = new SOAPHeaderElement(namespace, methodName); header.setNamespaceURI(namespace); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(url); call.setOperationName(new QName(namespace, methodName)); List<String> sortParam = Arrays.asList("strUserName","sendTo","copyTo","bindCopyTo","subject","Body","file","fileName"); // 添加参数 List<String> parameterList = Lists.newArrayList(); for(String param:sortParam){ if(param.equals("file")){ call.addParameter(new QName(namespace, param), XMLType.SOAP_BASE64BINARY, ParameterMode.IN); }else if(param.equals("fileName")){ call.addParameter(new QName(namespace, param), XMLType.SOAP_ARRAY, ParameterMode.IN); }else{ call.addParameter(new QName(namespace, param), XMLType.SOAP_STRING, ParameterMode.IN); } } call.setUseSOAPAction(true); call.setSOAPActionURI(soapActionURI); // 设置返回类型 call.setReturnType(new QName(namespace, methodName), String.class); String result = (String) call.invoke(paramObject); log.info("调用 WebService 接口返回===>" + result); return result; } catch (Exception e) { log.error("调用 WebService 接口错误信息==>" + e.getMessage()); } return null; }
请求参数如下:
String[] filenames = new String[]{"test.txt"}; byte[][] file=.....(这里是多个文件生成的二维数组) Object[] opAddEntryArgs = new Object[] { "user", "user","","","主题","body内容",file,filenames};
请求后:
result返回的是null
有没有大侠帮忙解答下,急!!!