Подтвердить что ты не робот

Проверка конверта с помощью Ksoap2 (Android)

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

Нижняя строка, и я хочу видеть конверт, который отправляется. В iOS я могу просто посмотреть сообщение XML, которое будет отправлено, сравнить его с SoapUI или что-то в этом роде и понять, что не так. Разве мы не можем это сделать? Перед вызовом вывести XML в System.out.print?

Я также хотел бы сделать то же самое с ответом, получить простой ответ http, потому что исключения Ksoap2 довольно плохие.

Извините, если это довольно простой вопрос, но я немного расстроен: (

4b9b3361

Ответ 1

После того, как вы создали свой HttpTransportSE androidHttpTransport, вы можете добавить строку:

 androidHttpTransport.debug = true; 

После вызова androidHttpTransport.call(SOAP_ACTION, envelope); вы можете получить запрос и ответ в формате XML из двух переменных String:

androidHttpTransport.requestDump;
androidHttpTransport.responseDump;

Вы можете распечатать эти значения в журнале или получить доступ к ним в режиме отладки.

Ответ 2

Используйте монитор TCP/IP, например, тот, который входит в Eclipse (Window- > Show View- > Debug- > TCP/IP Monitor). Я бы сказал, что печать конверта XML не входит в код, поскольку он предназначен только для отладки. Если ваш веб-сервис прослушивает порт 8080, вы должны настроить монитор для прослушивания на порту 8081 и контролировать порт 8080. Затем укажите ваш SOAP-клиент на порт 8081. Таким образом, монитор TCP/IP получит XML, отобразит его, а затем переадресует это к фактическому обслуживанию на 8080. Он будет делать то же самое для ответа. Это также будет работать SoapUI (просто укажите его на порт 8081).