Я пытаюсь получить доступ к веб-сервису magento из клиента Android. Который должен вернуть идентификатор сеанса. Я уже сделал это, используя Java-клиент, используя Apache, и я успешно вызвал метод.Как только я получаю исключение xmlpullparser при попытке с клиентом Android как: 10-24 15: 25: 44.409: WARN / System.err (277): org.xmlpull.v1.XmlPullParserException: ожидается: START_TAG {http://www.w3.org/2001/12/soap-envelope}Envelope(позиция: START_TAG @ 2: 327 в java.io.InputStreamReader@44ee2268)
хорошо, это мой wsdl-файл, из которого я пытаюсь получить доступ к методу входа:
мой javaкод:
public class DeviceClientActivity extends Activity {
/** Called when the activity is first created. */
private static final String NAMESPACE = "urn:Magento";
private static final String URL = "http://xxx.xxx.xx.xxx/magento/index.php/api/v2_soap?wsdl";
private static final String METHOD_NAME = "login";
private static final String SOAP_ACTION ="urn:Mage_Api_Model_Server_V2_HandlerAction";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log
.d("WS",
"--------------------- Webservice Part Begins ---------------------");
Log.d("WS", "1. SoapObject Construction");
SoapObject objsoap=new SoapObject(NAMESPACE, METHOD_NAME);
objsoap.addProperty ("имя пользователя", "alokxxxx");
objsoap.addProperty ("apiKey", "xxxxxx");
Log.d ("WS"), «Строительство SOAP объекта End !!!»);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
Log.d("WS", "2. Envelop Created");
envelope.setOutputSoapObject(objsoap);
Log.d("WS", "3. Request Into Envelop");
AndroidHttpTransport httpTransport = new AndroidHttpTransport(URL);
httpTransport.debug = true;
Log.d("WS", "5. Transport Level to True");
try {
httpTransport.call(SOAP_ACTION, envelope);
// ошибка здесь WARN / System.err (277): org.xmlpull.v1.XmlPullParserException: ожидается: START_TAG {http://www.w3.org/2001/12/soap-envelope}Envelope (позиция: START_TAG @ 2:327 в java.io.InputStreamReader@44ee2268)
Log.d("WS", "6. httpTransport.call");
if (envelope != null)
{
SoapObject loresponse = (SoapObject) envelope.getResponse();
SoapObject logObject = (SoapObject)loresponse.getProperty("sessionId");
Log.d("WS", "logObject: "+logObject);
}
else
{
Log.d("WS", "Response Envelop Error");
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
}
Журнал для вашей помощи: DEBUG / WS (333): --------------------- Начинается часть веб-сервиса ---------------------
10-29 15: 38: 33.643: DEBUG /WS (333): 1. Конструкция объекта SoapObject
10-29 15: 38: 33.673: DEBUG / WS (333): Построение объекта SOAP Окончание !!!
10-29 15: 38: 33.673: DEBUG /WS (333): 2. Конверт Создан 10-29 15: 38: 33.673: DEBUG / WS (333): 3. Запрос в конверт
10-29 15: 38: 33.683: DEBUG / WS (333): 5Транспортный уровень в Trueorg.ksoap2.transport.AndroidHttpTransport@44eeb200 10-29 15: 38: 33.683: DEBUG / Try (333): внутри блока try
10-29 15: 38: 34.903: WARN / System.err (333): org.xmlpull.v1.XmlPullParserException: ожидается: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (позиция: START_TAG @ 2: 327 в java.io.InputStreamReader@44efbe90)
есть предложения?спасибо.