#android #ksoap2
#Android #ksoap2
Вопрос:
Я новичок в разработке Android, и я сталкиваюсь с проблемой использования xml, это сложно. Кто-нибудь может мне помочь? как написать httpTransportSE
ниже приведен xml
1. <soapenv:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:lis="ListaDetalhe"> <soapenv:Header/> <soapenv:Body>
<lis:ListaDetalhe soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<Autenticacao xsi:type="urn:Autenticacao" xmlns:urn="urn:RouterBoxMobile">
<ChaveIntegracao xsi:type="xsd:string"></ChaveIntegracao>
</Autenticacao>
<tlDadosTitulosDetalhe xsi:type="urn:tlDadosTitulosDetalhe" xmlns:urn="urn:RouterBoxMobile">
<ID_Titulo xsi:type="xsd:int">1</ID_Titulo>
</tlDadosTitulosDetalhe>
</lis:ListaDetalhe> </soapenv:Body> </soapenv:Envelope>
Ответ №1:
Мне удалось решить проблему после долгих исследований, следуя коду:
private void listaDetalhes(){
SoapObject request = new SoapObject("urn:RouterBoxMobile","ListaDetalhe");
SoapObject chaveIntegracao = new SoapObject("urn:RouterBoxMobile","ListaDetalhe");
chaveIntegracao.addProperty("ChaveIntegracao","##########");
request.addProperty("Autenticacao",chaveIntegracao);
SoapObject tlDadosTitulosDetalhe = new SoapObject("urn:RouterBoxMobile","ListaDetalhe");
SoapObject idTitulo = new SoapObject("urn:RouterBoxMobile","ListaDetalhe");
idTitulo.addProperty("ID_Titulo",1);
tlDadosTitulosDetalhe.addProperty("tlDadosTitulosDetalhe" ,idTitulo);
request.addProperty("tlDadosTitulosDetalhe",idTitulo);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
Log.i("Testando web Service","");
String url="####################################################";
HttpTransportSE httpTransport = new HttpTransportSE(url);
httpTransport.debug = true;
try {
httpTransport.call("",envelope);
Log.i("Request",httpTransport.requestDump.toString());
SoapPrimitive msg = (SoapPrimitive)envelope.getResponse();
Log.d("RouterBox", "Detalhes: " msg);
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}