В процессе анализа ответа в использовании мыла Услуги модернизированных IAM напротив это исключение exception.My находится нижеСинтаксического Мыло Сервис использование Модернизированного я столкнулся исключение, как это (то есть) несогласованная модель тела в модели класса огибающей в ответ
Failure: org.simpleframework.xml.core.ElementException: Element 'Body' does not have a match in class org.cainfo.arun.model.response.VerifyMobileResEnvelopeModel at line 1
Вот мой запрос и ответ
Мой запрос
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.router.ees.com/">
<soapenv:Header/>
<soapenv:Body>
<web:verifyMobile>
<arg0>12345678</arg0>
</web:verifyMobile>
</soapenv:Body>
</soapenv:Envelope>
Мой ответ
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:verifyMobileResponse xmlns:ns1="http://webservice.router.ees.com/">
<return>name</return>
</ns1:verifyMobileResponse>
</soap:Body>
</soap:Envelope>
VerifyMobileResEnvelopeModel
@Root(name = "soap:Envelope")
@Namespace(prefix = "soap", reference = "http://schemas.xmlsoap.org/soap/envelope/")
public class VerifyMobileResEnvelopeModel {
@Element(name = "soap:Body", required = false)
private VerifyMobileResBodyModel verifyMobileResBodyModel;
public VerifyMobileResBodyModel getVerifyMobileResBodyModel() {
return verifyMobileResBodyModel;
}
public void setBody(VerifyMobileResBodyModel verifyMobileResBodyModel) {
this.verifyMobileResBodyModel = verifyMobileResBodyModel;
}
}
VerifyMobileResBodyModel
@Root(name = "soap:Body", strict = false)
public class VerifyMobileResBodyModel {
@Element(name = "ns1:verifyMobileResponse", required = false)
@Namespace(prefix = "ns1", reference = "http://webservice.router.ees.com/")
private VerifyMobileResDataModel verifyMobileResModel;
public VerifyMobileResDataModel getVerifyMobileResModel() {
return verifyMobileResModel;
}
public void setVerifyMobileResModel(VerifyMobileResDataModel verifyMobileResModel) {
this.verifyMobileResModel = verifyMobileResModel;
}
}
VerifyMobileResDataModel
@Root(name = "ns1:verifyMobileResponse", strict = false)
@Namespace(prefix = "ns1", reference = "http://webservice.router.ees.com/")
public class VerifyMobileResDataModel {
@Element(name = "return", required = false)
private String customerName;
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
}
Метод
public void getResponse() {
VerifyMobileRqstDataModel mVerifyMobileRqstDataModel = new VerifyMobileRqstDataModel();
mVerifyMobileRqstDataModel.phoneNo = mobileNo;
VerifyMobileRqstBodyModel mVerifyMobileRqstBodyModel = new VerifyMobileRqstBodyModel();
mVerifyMobileRqstBodyModel.verifyMobileRqstDataModel = mVerifyMobileRqstDataModel;
VerifyMobileRqstEnvelopeModel mVerifyMobileRqstEnvelopeModel = new VerifyMobileRqstEnvelopeModel();
mVerifyMobileRqstEnvelopeModel.verifyMobileRqstBodyModel = mVerifyMobileRqstBodyModel;
Call<VerifyMobileResEnvelopeModel> call = webService.rqstVerifyMobileNo(mVerifyMobileRqstEnvelopeModel);
call.enqueue(new Callback<VerifyMobileResEnvelopeModel>() {
@Override
public void onResponse(Call<VerifyMobileResEnvelopeModel> call, Response<VerifyMobileResEnvelopeModel> response) {
if (response.isSuccessful() && response.body() != null) {
// String customerName = response.body().verifyMobileResBodyModel.verifyMobileResModel.customerName;
String customerName = response.body().getBody().getVerifyMobileResModel().getCustomerName();
Log.i("CustomerName", customerName);
}
}
@Override
public void onFailure(Call<VerifyMobileResEnvelopeModel> call, Throwable t) {
Log.e("Failure", t.getMessage());
}
});
}
Я столкнулся с проблемой синтаксического анализа. Но получить ответ. В методе, который он не приходит в блок ответа, блок отката выполняется, и он выдает это исключение. Его громоздко узнать проблему. Я много пробовал. Пожалуйста, помогите мне. Заранее спасибо.
Ответ в моем коде. Но он не пришел в ответ блокировать
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:verifyMobileResponse xmlns:ns1="http://webservice.router.ees.com/">
<return>Ramesh</return>
</ns1:verifyMobileResponse>
</soap:Body>
</soap:Envelope>