2014-10-02 2 views
4

При запросе мыла запросите его бросок ниже ошибки.Сервер не смог обработать ваш запрос, значение не может быть пустым: мыльный синтаксический анализ

10-02 06:05:05.840: E/@@@@@@@@@@(1722): RawXML Request:<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
    <soap:Fault> 
     <faultcode>soap:Server</faultcode> 
     <faultstring>Server was unable to process request. ---&gt; Value cannot be null. 
    10-02 06:05:05.840: E/@@@@@@@@@@(1722): Parameter name: String</faultstring> 
     <detail /> 
    </soap:Fault> 
    </soap:Body> 
</soap:Envelope> 

Я передал требуемый параметр искренне, даже несмотря на его ошибку выброса.

Это функция, которую я использовал для запроса на мыло.

ChangePassword

public void ChangePassword(String METHOD, String token, 
      String userId, String oldPassword,String newPassword) { 
     SoapObject request = null; 

     request = new SoapObject(NAME_SPACE, METHOD); 

     Log.e("####", "ChangePassword token=" + token.trim()); 
     Log.e("####", "ChangePassword userId=" + userId); 
     Log.e("####", "ChangePassword oldPassword=" + oldPassword); 
     Log.e("####", "ChangePassword newPassword=" + newPassword); 

     request.addProperty("token", token.trim()); 
     request.addProperty("userId", userId); 
     request.addProperty("oldPassword", oldPassword); 
     request.addProperty("newPassword", newPassword); 

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

     try { 
      HttpTransportSE transport = new HttpTransportSE(URL); 
      transport.debug = true; 

      String action=SOAP_ACTION+METHOD; 
      Log.e("@@@@", "soap action="+action); 

      transport.call(action, envelope); 
//   transport.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); 

      String response = transport.responseDump; 
      Log.e("@@@@@@@@@@","RawXML Request:"+response.toString()); 


     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 

есть все, что я пропустил, а попав запрос?

+0

добавьте вывод 'Log.e' к вашему вопросу. – ashoke

+0

Его уже добавили после первого предложения. – RobinHood

+0

Я подозреваю, что проблема с сериализацией, вы можете добавить все другие сообщения Log.e? – ashoke

ответ

6

Я подозреваю, что есть проблема в вашем веб-сервисе. Убедитесь, что все ваши имена параметров соответствуют значениям, которые вы использовали в приложении для Android.

Смежные вопросы