I have a Web Service that in the request, has the following structure:
<?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>
<_USUAR>STRING</_USUAR>
<_SENHA>STRING</_SENHA>
<_APONTAMENTO>
<CODCLI>STRING</CODCLI>
<DATA>STRING</DATA>
<VEND>STRING</VEND>
<COM>STRING</COM>
</_APONTAMENTO>
<_TIPOOP>STRING</_TIPOOP>
</soap:Body>
</soap:Envelope>
I can not send the data, it is returning the following error: WEBSERVICE ERROR: Argument Missing: Required field CODCLI not found.
Follow the code below:
public ArrayList<String> salvaApontamento(Apontamento apontamento, String usuario, String senha){
ArrayList<String> retorno = new ArrayList<>();
SoapObject _APONTAMENTO = new SoapObject(NAMESPACE, "_APONTAMENTO");
_APONTAMENTO.addProperty("DATA", apontamento.getData());
_APONTAMENTO.addProperty("VEND", apontamento.getVendedor());
_APONTAMENTO.addProperty("CODCLI", apontamento.getCliente());
_APONTAMENTO.addProperty("COM", apontamento.getComentario());
//criando o request para enviar ao webservice
SoapObject manutencaoApontamento = new SoapObject(NAMESPACE,METODOMANUTENCAO);
manutencaoApontamento.addProperty("_USUAR", usuario);
manutencaoApontamento.addProperty("_SENHA", senha);
manutencaoApontamento.addProperty("_APONTAMENTO",_APONTAMENTO);
SoapSerEnv envelope = new SoapSerEnv(SoapEnvelope.VER11);
envelope.setOutputSoapObject(manutencaoApontamento);
HttpTransportSE http = new HttpTransportSE(URL);
try {
http.call(METODOMANUTENCAO,envelope);
SoapObject resposta = (SoapObject) envelope.getResponse();
String mensagem = resposta.getPrimitiveProperty("CMENSAGEM").toString();
String confirma = resposta.getPrimitiveProperty("CCONFIRMA").toString();
retorno.add(confirma);
retorno.add(mensagem);
Log.i("APONTAMENTOXX", "Mensagem - " + mensagem);
} catch (Exception e){
Log.i("APONTAMENTOXX", "Mensagem - " +e.getMessage());
retorno.add("NAO");
retorno.add(e.getMessage());
}
return retorno;
}
}
In my opinion, I'm not sure how to send the internal values of _APONTAMENTO, such as CODCLI, DATA, ...