发送类型复杂的Soap错误org.xmlpull.v1.XmlPullParserException:expected:START_TAG

时间:2016-11-07 16:32:23

标签: java android ksoap2

我正在尝试更新客户主数据的方法,但是当我按照这种方法行走时,我发现了这个问题,有人看到了这个问题吗?

以下代码

 public String atuzalizarCadastroCliente(DadosCadastraisSeralizable dados) throws IOException, XmlPullParserException {
        SoapObject request = new SoapObject("urn:RouterBoxMobile", "AtualizarCadastroClientes");



        SoapObject chaveIntegracao = new  SoapObject("urn:RouterBoxMobile", "AtualizarCadastroClientes");
        chaveIntegracao.addProperty("ChaveIntegracao",chaveDeIntegracao);

        request.addProperty("Autenticacao", chaveIntegracao);
        request.addProperty("DadosAtualizadosClientes",dados);


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


        envelope.implicitTypes=true;



         httpTransportSE = new HttpTransportSE(URL_WEBSERVICE);
         httpTransportSE.debug=true;

         httpTransportSE.call("",envelope);





        SoapObject  response = (SoapObject) envelope.getResponse();
        //resposta=envelope.getResponse();

        return response.toString();


    }

错误日志:

11-07 11:31:19.726 19420-19701/routerbox.com.br.centraisdoassinante W/System.err: org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG (empty) <br>@1:7 in java.io.InputStreamReader@527e5270) 
11-07 11:31:19.726 19420-19701/routerbox.com.br.centraisdoassinante W/System.err:     at org.kxml2.io.KXmlParser.require(KXmlParser.java:2046)
11-07 11:31:19.726 19420-19701/routerbox.com.br.centraisdoassinante W/System.err:     at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:127)

1 个答案:

答案 0 :(得分:0)

解决了问题是必须发送复杂类型DadosAtualizadosClientes:

 public String atuzalizarCadastroCliente(DadosCadastraisSerealizable dados){
        SoapObject request = new SoapObject("urn:RouterBoxMobile","AtualizarCadastroClientes");

        SoapObject chaveIntegracao = new SoapObject("urn:RouterBoxMobile","Autenticacao");
        chaveIntegracao.addProperty("ChaveIntegracao",chaveDeIntegracao);
        request.addProperty("Autenticacao", chaveIntegracao);


        SoapObject dadosAtualizadosClientes = new SoapObject("urn:RouterBoxMobile", "DadosAtualizadosClientes");
        dadosAtualizadosClientes.addProperty("CodigoCliente",dados.codigo);
        dadosAtualizadosClientes.addProperty("Usuario",dados.usuario);
        dadosAtualizadosClientes.addProperty("Senha",dados.senha);
        dadosAtualizadosClientes.addProperty("CEP",dados.cep);
        dadosAtualizadosClientes.addProperty("Bairro",dados.bairro);
        dadosAtualizadosClientes.addProperty("Endereco",dados.endereco);
        dadosAtualizadosClientes.addProperty("Numero",dados.numero);
        dadosAtualizadosClientes.addProperty("Complemento",dados.complemento);
        dadosAtualizadosClientes.addProperty("TelComercial",dados.foneComercial);
        dadosAtualizadosClientes.addProperty("TelResidencial",dados.foneResidencial);
        dadosAtualizadosClientes.addProperty("TelCelular",dados.foneCelular);
        dadosAtualizadosClientes.addProperty("Email",dados.email);

        request.addProperty("DadosAtualizadosClientes",dadosAtualizadosClientes);


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


        HttpTransportSE httpTransportSE = new HttpTransportSE(URL_WEBSERVICE);
        httpTransportSE.debug=true;


        try {
            httpTransportSE.call("",envelope);
            Log.d("Response",httpTransportSE.requestDump.toString());


            SoapObject  response = (SoapObject) envelope.getResponse();


        } catch (IOException e) {
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        }
       return null;
    }