Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将对象数组发送到WebService_Java_Android_Web Services - Fatal编程技术网

Java 将对象数组发送到WebService

Java 将对象数组发送到WebService,java,android,web-services,Java,Android,Web Services,我想向WebService发送一个对象数组,但我得到了RuntimeException:无法序列化[myClass]。我尝试了许多创建请求的变体,但都不起作用 调用WebService的我的班级: SoapObject request = new SoapObject(NAMESPACE, NAME); com.gt.android.webservice.model.LocationRecord[] table = convertObjects(locationRecords).

我想向WebService发送一个对象数组,但我得到了RuntimeException:无法序列化[myClass]。我尝试了许多创建请求的变体,但都不起作用

调用WebService的我的班级:

   SoapObject request = new SoapObject(NAMESPACE, NAME);

    com.gt.android.webservice.model.LocationRecord[] table = convertObjects(locationRecords).toArray(new com.gt.android.webservice.model.LocationRecord[locationRecords.size()]);

    SoapObject root = new SoapObject(NAMESPACE, "locRecord");

    for (com.gt.android.webservice.model.LocationRecord i : table){
        root.addProperty("LocationRecord", i);
    }

    request.addSoapObject(root);

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

    envelope.dotNet = true;

    envelope.setOutputSoapObject(request);

    envelope.addMapping(NAMESPACE, "LocationRecord", com.gt.android.webservice.model.LocationRecord.class);

    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try {
        androidHttpTransport.debug = true;
        androidHttpTransport.call(SOAP_ACTION + NAME, envelope);
... }
首先:我必须将列表从一个类转换为另一个类(只需重写字段(以实现平面结构),然后我尝试生成根,添加每个字段,添加序列化、请求、映射,并至少发送请求。以下是webService结构:

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SynchonizeLocations xmlns="http://tempuri.org/">
      <locRecord>
        <LocationRecord>
          <id>int</id>
          <logTime>dateTime</logTime>
          <message>string</message>
          <lt>double</lt>
          <lg>double</lg>
          <timestamp>dateTime</timestamp>
          <sessionBestLocation>boolean</sessionBestLocation>
          <number1>int</number1>
          <number2>int</number2>
        </LocationRecord>
        <LocationRecord>
          <id>int</id>
          <logTime>dateTime</logTime>
          <message>string</message>
          <lt>double</lt>
          <lg>double</lg>
          <timestamp>dateTime</timestamp>
          <sessionBestLocation>boolean</sessionBestLocation>
          <number1>int</number1>
          <number2>int</number2>
        </LocationRecord>
      </locRecord>
    </SynchonizeLocations>
  </soap:Body>
</soap:Envelope>

int
日期时间
一串
双重的
双重的
日期时间
布尔值
int
int
int
日期时间
一串
双重的
双重的
日期时间
布尔值
int
int
感谢您的帮助。

您可以使用对象并将其转换为字符串

  • 编写一个新的对象类,其中包含作为字段的对象数组
  • 创建新对象并将数组加载到其中
  • 使用Gson将对象转换为字符串:

    Gson Gson=new Gson();
    字符串json=gson.toJson(yourObject)

  • 例如:

    public class LocationRecordsHolder {
    
        public LocationRecord[] table;
    
        public LocationRecordsHolder(LocationRecord[] table) {
            this.table = table;
        }
    
        // Convert object to String
        public static String converToString(LocationRecordHolder obj) {
            Gson gson = new Gson();
            return gson.toJson(obj);
        }
    
        // Conver String to object
        public static LocationRecordHolder convertFromString(String json) {
            Gson gson = new Gson();
            return gson.fromJson(br, LocationRecordsHolder.class);
        }
    }
    

    你的类实现了可序列化吗?@PhilippSander是的,它实现了。所有包含的类也实现了可序列化吗?@PhilippSander是的,每个对象都实现了可序列化,它仍然在生成我的错误。我想知道创建XML树的错误。但是我的Web服务使用SOAP体系结构,可以改为使用JSON吗?检查部分3.字符串输出将采用Json结构