Я сделал запрос на мыло, используя библиотеку Ksoap2 для ниже. Я получаю код ответа как 403, используя этот код. Я искал и обнаружил, что библиотека Ksoap2 полезна при интеграции с SOAP API в Android. Но я не могувыяснить проблему.
Запрос SOAP API:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="myUrl">
<soapenv:Header/>
<soapenv:Body>
<GetClients>
<Request>
<SourceCredentials>
<SourceName>{SourceName}</SourceName>
<Password>{Password}</Password>
<SiteIDs>
<int>{SiteID}</int>
</SiteIDs>
</SourceCredentials>
<XMLDetail>Full</XMLDetail>
<PageSize>0</PageSize>
<CurrentPageIndex>0</CurrentPageIndex>
</Request>
</GetClients>
</soapenv:Body>
</soapenv:Envelope>
Мой код Android:
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapObject sourcecredentials = new SoapObject(SOAP_ACTION, "SourceCredentials");
PropertyInfo info = new PropertyInfo();
info.setName("SourceName");
info.setValue("MySourceName");
sourcecredentials.addProperty(info);
PropertyInfo info2 = new PropertyInfo();
info2.setName("Password");
info2.setValue("myPassword");
sourcecredentials.addProperty(info2);
PropertyInfo info3 = new PropertyInfo();
info3.setName("SiteIDs");
info3.setValue(MySiteid);
sourcecredentials.addProperty(info3);
//This also I tried
/*SoapObject soapSiteids = new SoapObject(NAMESPACE, "SiteIDs");
soapSiteids.addProperty("int", MySiteId);
sourcecredentials.addProperty("SiteIDs",soapSiteids);*/
request.addProperty("SourceCredentials", sourcecredentials);
request.addProperty("XMLDetail", "Full");
request.addProperty("PageSize", "10");
request.addProperty("CurrentPageIndex", "0");
request.addProperty("ScheduleType", "Appointment");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransportSE = new HttpTransportSE("My WSDL Url");
try {
httpTransportSE.call(SOAP_ACTION, envelope);
SoapPrimitive soapPrimitive = (SoapPrimitive)envelope.getResponse();
result = soapPrimitive.toString();
} catch (Exception e) {
e.printStackTrace();
}
Получается ошибка http 403, когда я так поступаюПожалуйста, помогите мне, если я делаю что-то не так в коде выше. Заранее спасибо