简体   繁体   English

在 java 的 web 服务中传递二维数组作为参数

[英]pass 2 dimensional array as a parameter in a web-service in java

I am trying to make a web-service in java where you pass in a 2 dimensional array as a parameter.我正在尝试在 java 中创建一个 Web 服务,您可以在其中传入一个二维数组作为参数。 When I test it with the web-service explore I keep getting this error:当我使用 web-service explore 对其进行测试时,我不断收到此错误:

<soapenv:Fault>
  <faultcode>soapenv:Server.userException</faultcode> 
  <faultstring>org.xml.sax.SAXException: Found character data inside an array element while deserializing</faultstring> 
- <detail>
  <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">Name</ns1:hostname> 
  </detail>
</soapenv:Fault>

Any idea as to why?知道为什么吗?

You are best off wrappering your two-dimensional array inside of an object, and even then use something like ArrayList instead of an actual Array.最好将二维数组包装在 object 中,甚至使用 ArrayList 之类的东西而不是实际的数组。 It works better with web services with Java and your JAXB bindings.它与 web 服务与 Java 和您的 JAXB 绑定一起工作得更好。

public class MyTwoDimensionalArrayWrapper {
  private Collection dimensionOne = new ArrayList();
  private Collection dimensionTwo = new ArrayList();

  ...
  //getters and setters, etc.
  //note I did not put any annotations on this..just a skeleton to give you an idea to help.
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM