KSOAP2 complex request property not being seen <p>I'm having a problem sending a complex SOAP request to a third-party company server (server can have no changes) from an android device. I'm using KSOAP2 library and one of the properties is missing (server is giving an error which occurs when <code>klausimai</code> is <code>null</code>. Also the same namespace in my request is repeated multiple times when KSOAP2 generates the XML, since I pass a lot of <code>PropertyInfo</code>. My question is, why could the server see other properties (it would also give an error about the <code>null</code> ones) But doesn't see <code>klausimai</code> ?</p> <p><strong>Sample request XML for WS given by server company</strong></p> <pre><code>?xml version="1.0" encoding="UTF-8"?&gt; &lt;s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"&gt; &lt;s:Body&gt; &lt;teiktiTemineAtaskaita xmlns="http://tempuri.org/"&gt; &lt;userName&gt;apps&lt;/userName&gt; &lt;password&gt;mob2015*&lt;/password&gt; &lt;uzduotiesNr&gt;24287&lt;/uzduotiesNr&gt; &lt;inspektavimas xmlns:a="http://schemas.datacontract.org/2004/07/DssisMP" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"&gt; &lt;a:apsilankymuObjekteSkaicius i:nil="true" /&gt; &lt;a:atstovai i:nil="true" /&gt; &lt;a:darbdavioBuveinesAdresas i:nil="true" /&gt; &lt;a:darbdavioGimimoData i:nil="true" /&gt; &lt;a:darbdavioKodas&gt;110871120&lt;/a:darbdavioKodas&gt; &lt;a:darbdavioLytis i:nil="true" /&gt; &lt;a:darbdavioPagrindineEkonomineVeikla i:nil="true" /&gt; &lt;a:darbdavioPavadinimas i:nil="true" /&gt; &lt;a:darbdavioPavarde i:nil="true" /&gt; &lt;a:darbdavioTipas i:nil="true" /&gt; &lt;a:darbdavioVardas i:nil="true" /&gt; &lt;a:inspektavimoNr&gt;11112245&lt;/a:inspektavimoNr&gt; &lt;a:inspektavimoPradzia&gt;2015-07-23T00:00:00+03:00&lt;/a:inspektavimoPradzia&gt; &lt;a:inspektavimoTiksloKodas&gt;111&lt;/a:inspektavimoTiksloKodas&gt; &lt;a:institucijos i:nil="true" /&gt; &lt;a:savivaldybesKodas i:nil="true" /&gt; &lt;a:temineAtaskaita&gt; &lt;a:klausimai&gt; &lt;a:TAKlausimas&gt; &lt;a:atsakymas&gt;2&lt;/a:atsakymas&gt; &lt;a:eilNr&gt;1.&lt;/a:eilNr&gt; &lt;a:klausimas i:nil="true" /&gt; &lt;a:kodas&gt;1000&lt;/a:kodas&gt; &lt;a:komentaras i:nil="true" /&gt; &lt;/a:TAKlausimas&gt; &lt;a:TAKlausimas&gt; &lt;a:atsakymas&gt;1&lt;/a:atsakymas&gt; &lt;a:eilNr&gt;1.1.&lt;/a:eilNr&gt; &lt;a:klausimas i:nil="true" /&gt; &lt;a:kodas&gt;1001&lt;/a:kodas&gt; &lt;a:komentaras i:nil="true" /&gt; &lt;/a:TAKlausimas&gt; &lt;a:TAKlausimas&gt; &lt;a:atsakymas&gt;3&lt;/a:atsakymas&gt; &lt;a:eilNr&gt;2.&lt;/a:eilNr&gt; &lt;a:klausimas i:nil="true" /&gt; &lt;a:kodas&gt;1002&lt;/a:kodas&gt; &lt;a:komentaras i:nil="true" /&gt; &lt;/a:TAKlausimas&gt; &lt;/a:klausimai&gt; &lt;a:nr&gt;BIOCIDŲ PRIEŽIŪRA-0050-0007&lt;/a:nr&gt; &lt;a:rekomendacijos i:nil="true" /&gt; &lt;a:surasymoData&gt;2015-07-23T00:00:00+03:00&lt;/a:surasymoData&gt; &lt;a:tipas&gt;9&lt;/a:tipas&gt; &lt;/a:temineAtaskaita&gt; &lt;a:tikrintaEkonomineVeikla i:nil="true" /&gt; &lt;a:tikrintaNakti i:nil="true" /&gt; &lt;a:tikrintasObjektas i:nil="true" /&gt; &lt;a:tikrintoObjektoAdresas i:nil="true" /&gt; &lt;a:tikrintoObjektoPavadinimas i:nil="true" /&gt; &lt;a:vadovoAsmensKodas i:nil="true" /&gt; &lt;a:vadovoGimimoData i:nil="true" /&gt; &lt;a:vadovoLytis i:nil="true" /&gt; &lt;a:vadovoPareigos i:nil="true" /&gt; &lt;a:vadovoPavarde i:nil="true" /&gt; &lt;a:vadovoVardas i:nil="true" /&gt; &lt;/inspektavimas&gt; &lt;/teiktiTemineAtaskaita&gt; &lt;/s:Body&gt; &lt;/s:Envelope&gt; </code></pre> <p><strong>My HTTPTransport request dump XML generated by KSOAP2</strong></p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;v:Envelope xmlns:v="http://schemas.xmlsoap.org/soap/envelope/" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"&gt; &lt;v:Header /&gt; &lt;v:Body&gt; &lt;teiktiTemineAtaskaita xmlns="http://tempuri.org/"&gt; &lt;userName&gt;apps&lt;/userName&gt; &lt;password&gt;mob2015*&lt;/password&gt; &lt;uzduotiesNr&gt;212855&lt;/uzduotiesNr&gt; &lt;n0:inspektavimas xmlns:n0="http://tempuri.org/"&gt; &lt;inspektavimoNr i:null="true" /&gt; &lt;n1:inspektavimoPradzia xmlns:n1="http://schemas.datacontract.org/2004/07/DssisMP" i:type="d:dateTime"&gt;2015-07-26T21:00:00.000Z&lt;/n1:inspektavimoPradzia&gt; &lt;inspektavimoTiksloKodas&gt;1101&lt;/inspektavimoTiksloKodas&gt; &lt;darbdavioKodas&gt;120163917&lt;/darbdavioKodas&gt; &lt;darbdavioPavadinimas&gt;Statybos ir remonto uždaroji akcinė bendrovė "RISTATYBA"&lt;/darbdavioPavadinimas&gt; &lt;darbdavioTipas&gt;1&lt;/darbdavioTipas&gt; &lt;darbdavioBuveinesAdresas i:null="true" /&gt; &lt;darbdavioPagrindineEkonomineVeikla i:null="true" /&gt; &lt;vadovoAsmensKodas&gt;721788222&lt;/vadovoAsmensKodas&gt; &lt;vadovoVardas&gt;tvt&lt;/vadovoVardas&gt; &lt;vadovoPavarde&gt;gtvt&lt;/vadovoPavarde&gt; &lt;vadovoPareigos&gt;5&lt;/vadovoPareigos&gt; &lt;n2:vadovoGimimoDiena xmlns:n2="http://schemas.datacontract.org/2004/07/DssisMP" i:type="d:dateTime"&gt;2015-07-22T21:00:00.000Z&lt;/n2:vadovoGimimoDiena&gt; &lt;vadovoLytis&gt;0&lt;/vadovoLytis&gt; &lt;tikrintasObjektas&gt;3&lt;/tikrintasObjektas&gt; &lt;tikrintoObjektoPavadinimas i:null="true" /&gt; &lt;tikrintoObjektoAdresas i:null="true" /&gt; &lt;savivaldybesKodas&gt;46&lt;/savivaldybesKodas&gt; &lt;tikrintaEkonomineVeikla i:null="true" /&gt; &lt;apsilankymuObjekteSkaicius i:null="true" /&gt; &lt;tikrintaNakti&gt;0&lt;/tikrintaNakti&gt; &lt;n3:temineAtaskaita xmlns:n3="http://schemas.datacontract.org/2004/07/DssisMP"&gt; &lt;n3:nr i:null="true" /&gt; &lt;n3:tipas i:type="d:int"&gt;18&lt;/n3:tipas&gt; &lt;n3:surasymoData i:type="d:dateTime"&gt;2015-07-22T09:53:59.822Z&lt;/n3:surasymoData&gt; &lt;n3:klausimai&gt; &lt;n3:TAKlausimas&gt; &lt;n3:kodas i:type="d:string"&gt;3183&lt;/n3:kodas&gt; &lt;n3:eilNr i:type="d:string"&gt;1.1.&lt;/n3:eilNr&gt; &lt;n3:klausimas i:null="true" /&gt; &lt;n3:atsakymas i:type="d:int"&gt;1&lt;/n3:atsakymas&gt; &lt;n3:komentaras i:null="true" /&gt; &lt;/n3:TAKlausimas&gt; &lt;n3:TAKlausimas&gt; &lt;n3:kodas i:type="d:string"&gt;3184&lt;/n3:kodas&gt; &lt;n3:eilNr i:type="d:string"&gt;1.1.1.&lt;/n3:eilNr&gt; &lt;n3:klausimas i:null="true" /&gt; &lt;n3:atsakymas i:type="d:int"&gt;2&lt;/n3:atsakymas&gt; &lt;n3:komentaras i:null="true" /&gt; &lt;/n3:TAKlausimas&gt; &lt;/n3:klausimai&gt; &lt;n3:rekomendacijos i:type="d:string"&gt;Gyghugyb&lt;/n3:rekomendacijos&gt; &lt;/n3:temineAtaskaita&gt; &lt;/n0:inspektavimas&gt; &lt;/teiktiTemineAtaskaita&gt; &lt;/v:Body&gt; &lt;/v:Envelope&gt; </code></pre> <p><strong>My Java code for request creation</strong></p> <pre><code>List&lt;Questionnaire&gt; questionnaireList = new ArrayList&lt;&gt;(); String METHOD_NAME = "teiktiTemineAtaskaita"; String SOAP_ACTION = "http://tempuri.org/IDssisMP/" + METHOD_NAME; String A_NAMESPACE = "http://schemas.datacontract.org/2004/07/DssisMP"; String I_NAMESPACE = "http://www.w3.org/2001/XMLSchema-instance"; String NAMESPACE = "http://tempuri.org/"; String URL = "http://dvs/dssis_ws_test/DssisMP.svc"; SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); UserInfo userInfo = UserInfo.getAll().get(0); request.addProperty("userName", userInfo.getUserName()); request.addProperty("password", userInfo.getPassword()); request.addProperty("uzduotiesNr", taskId); CompanyInfo ci = CompanyInfo.getByTaskCompanyId(taskId, companyId); if (ci == null) { sendResponseFailed(responseHandler); //starter validation } else { //adding all the non-complex properties SoapObject inspektavimas = new SoapObject(NAMESPACE, "inspektavimas"); if (ci.getInspectationId() != 0) { inspektavimas.addProperty("inspektavimoNr", ci.getInspectationId()); } else { inspektavimas.addProperty("inspektavimoNr", null); } if (ci.getDateInspectation() != null) { PropertyInfo p = new PropertyInfo(); p.setNamespace(A_NAMESPACE); p.setName("inspektavimoPradzia"); p.setType(MarshalDate.class); p.setValue(ci.getDateInspectation()); inspektavimas.addProperty(p); } else { sendResponseFailed(responseHandler); } if (ci.getGoalId() != 0) { inspektavimas.addProperty("inspektavimoTiksloKodas", ci.getGoalId()); } else { sendResponseFailed(responseHandler); } if (ci.getObjectName() != null) { inspektavimas.addProperty("tikrintoObjektoPavadinimas", ci.getObjectName()); } else { inspektavimas.addProperty("tikrintoObjektoPavadinimas", null); } if (ci.getObjectAddress() != null) { inspektavimas.addProperty("tikrintoObjektoAdresas", ci.getObjectAddress()); } else { inspektavimas.addProperty("tikrintoObjektoAdresas", null); } //... SoapObject soTemineAtaskaita = new SoapObject(A_NAMESPACE, "temineAtaskaita"); TemineAtaskaita temineAtaskaita = TemineAtaskaita.getByTaskCompanyThemeCode(taskId, companyId, themeCode); PropertyInfo p = new PropertyInfo(); p.setNamespace(A_NAMESPACE); p.setName("nr"); if (temineAtaskaita != null &amp;&amp; temineAtaskaita.getAtaskaitosNr() != null) { p.setValue(temineAtaskaita.getAtaskaitosNr()); soTemineAtaskaita.addProperty(p); } else { p.setValue(null); soTemineAtaskaita.addProperty(p); } Theme theme = Theme.getByTaskCompanyThemeCode(taskId, companyId, themeCode); if (theme != null) { PropertyInfo pType = new PropertyInfo(); pType.setNamespace(A_NAMESPACE); pType.setName("tipas"); pType.setValue(theme.getThemeCode()); soTemineAtaskaita.addProperty(pType); PropertyInfo pDate = new PropertyInfo(); pDate.setNamespace(A_NAMESPACE); pDate.setName("surasymoData"); pDate.setValue(theme.getDate()); pDate.setType(MarshalDate.class); soTemineAtaskaita.addProperty(pDate); } //adding klausimai property which is not seen SoapObject klausimai = new SoapObject(A_NAMESPACE, "klausimai"); List &lt;Answer&gt; answers = Answer.getByTaskCompanyThemeCode(taskId, companyId, themeCode); for (Answer answer : answers) { SoapObject soTAKlausimas = new SoapObject(A_NAMESPACE, "TAKlausimas"); PropertyInfo pCode = new PropertyInfo(); pCode.setNamespace(A_NAMESPACE); pCode.setName("kodas"); pCode.setValue(answer.getQuestionId()); soTAKlausimas.addProperty(pCode); Questionnaire questionnaire = Questionnaire.getById(answer.getQuestionId()).get(0); PropertyInfo pEilNr = new PropertyInfo(); pEilNr.setNamespace(A_NAMESPACE); pEilNr.setName("eilNr"); pEilNr.setValue(questionnaire.getPosition()); soTAKlausimas.addProperty(pEilNr); PropertyInfo pKlausimas = new PropertyInfo(); pKlausimas.setNamespace(A_NAMESPACE); pKlausimas.setName("klausimas"); pKlausimas.setValue(null); soTAKlausimas.addProperty(pKlausimas); PropertyInfo pAnswer = new PropertyInfo(); pAnswer.setNamespace(A_NAMESPACE); pAnswer.setName("atsakymas"); pAnswer.setValue(questionnaire.getPosition()); if (answer.getAnswer() == QuestionItem.STATUS.YES.ordinal()) pAnswer.setValue(1); else if (answer.getAnswer() == QuestionItem.STATUS.NO.ordinal()) pAnswer.setValue(2); else if (answer.getAnswer() == QuestionItem.STATUS.UNKNOWN.ordinal()) pAnswer.setValue(3); else if (answer.getAnswer() == QuestionItem.STATUS.PLAIN.ordinal()) pAnswer.setValue(null); soTAKlausimas.addProperty(pAnswer); PropertyInfo pComment = new PropertyInfo(); pComment.setNamespace(A_NAMESPACE); pComment.setName("komentaras"); if (answer.getComment() != null &amp;&amp; !answer.getComment().replace(" ", "").replace(" ", "").isEmpty()) { pComment.setValue(answer.getComment()); } else { pComment.setValue(null); } soTAKlausimas.addProperty(pComment); klausimai.addSoapObject(soTAKlausimas); } soTemineAtaskaita.addSoapObject(klausimai); if (theme != null) { PropertyInfo pSuggestions = new PropertyInfo(); pSuggestions.setNamespace(A_NAMESPACE); pSuggestions.setName("rekomendacijos"); if (theme.getSuggestions() != null &amp;&amp; !theme.getSuggestions().replace(" ", "").replace(" ", "").isEmpty()) { pSuggestions.setValue(theme.getSuggestions()); } else { pSuggestions.setValue(null); } soTemineAtaskaita.addProperty(pSuggestions); } inspektavimas.addSoapObject(soTemineAtaskaita); request.addSoapObject(inspektavimas); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true; envelope.setAddAdornments(false); envelope.implicitTypes = true; envelope.setOutputSoapObject(request); new MarshalDate().register(envelope); HttpTransportSE androidHttpTransport = new HttpTransportSE(URL, 45 * 1000); androidHttpTransport.debug = true; androidHttpTransport.call(SOAP_ACTION, envelope); final SoapObject response = (SoapObject) envelope.getResponse(); ****//...**** } </code></pre>