2016-11-07 108 views
1

我正在做一个方法来更新客户主数据,但是当我走这个方法时遇到了麻烦发送对象,有人有看到这个问题?发送一个类型复杂Soap错误org.xmlpull.v1.XmlPullParserException:预期:START_TAG

下面的代码

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 [email protected]) 
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) 

回答

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; 
    } 
相关问题