Как обрабатывать более одного тегов в теле мыла запроса

StackOverflow https://stackoverflow.com//questions/11667381

  •  12-12-2019
  •  | 
  •  

Вопрос

Я использую SOAP WebService в моем приложении.Проблема, которую я сталкиваюсь, есть, есть один дополнительный тег в корпусе SOAP-запроса.Из-за этого я получаю ошибку SOAP неисправности «SOAPFOULD:« SOAPSODE: «SOAP: SOAPSTRING SIFLINGS) SERVER не удалось обработать запрос. ---> ссылка объекта не установлена на экземпляр объекта.Faipactor: «NULL» Деталь: org.kxml2.kdom.node @ 40516CE8 ".

Вот мымонный запрос ....

POST /appws.asmx HTTP/1.1
Host: www.xxxxxx.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://xxxxxxx.com/saveCustomerProfile"

<?xml version="1.0" encoding="utf-8"?>
<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>
<saveCustomerProfile xmlns="http://xxxxxx.com/">
  <customerProfile>
    <id>long</id>
    <name>string</name>
    <lastName>string</lastName>
    <phoneNumber>string</phoneNumber>
    <zipCode>string</zipCode>
    <email>string</email>
    <birthday>string</birthday>
    <gender>string</gender>
    <emailExclusiveSavings>boolean</emailExclusiveSavings>
    <textExclusiveSavings>boolean</textExclusiveSavings>
  </customerProfile>
</saveCustomerProfile>
</soap:Body>
</soap:Envelope>
.

Вот код, который я использую для вызова этого WebService

   SoapObject request = new SoapObject(NAMESPACE, "saveCustomerProfile");
    request.addProperty("id", 0);
            request.addProperty("name","aaaaa");
            request.addProperty("lastName","bbbbbb");
            request.addProperty("phoneNumber", "1234567890");
            request.addProperty("zipCode", "1234");
            request.addProperty("email", "123@gmail.com");
            request.addProperty("birthday", "02/02/2011");
            request.addProperty("gender", "male");


      request.addProperty("emailExclusiveSavings","true");
  request.addProperty("textExclusiveSavings", "false");

      SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);

    HttpTransportSE httpTransport = new HttpTransportSE(URL);
            httpTransport.call(SOAP_ACTION, envelope);
            System.out.println("response "+envelope.getResponse());
.

Я нашел, где проблема происходит.

  <saveCustomerProfile xmlns="http://xxxxxx.com/">
     <customerProfile>
.

Обычно только один главный тег будет там внутри мыла тела, здесь у меня есть два и.Я не знаю, как справиться с этим.Я проверил с некоторыми другими SOAP WebServices все работает на одном и том же коде.Пожалуйста, помогите мне.

Это было полезно?

Решение

Смотрите это Учебник ..might поможет вам:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top