Как отправить дату в качестве параметра в запрос в Ksoap2 для использования веб-службы .Net - PullRequest
1 голос
/ 06 октября 2010

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

Кто-нибудь может знать, как отправить дату в качестве параметра и отправить запрос, и, пожалуйста, предоставьте образец кода для него.

Поддерживает ли Ksoap2 формат даты?

Спасибо

Ответы [ 3 ]

2 голосов
/ 26 сентября 2012

Я использую библиотеку KSOAP2-android.У него уже есть класс MarshalDate, который вам просто нужно зарегистрировать в SoapSerializationEnvelope.

SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.setOutputSoapObject(soapRequest);
soapEnvelope.dotNet = true;


new MarshalDate().register(soapEnvelope); //This will enable you to pass a Date object as a parameter to your web service
2 голосов
/ 05 ноября 2010

Лучше всего для меня было отформатировать дату в строку и передать ее через веб-сервис в виде строки. При получении строки вы просто анализируете строку на дату. Имейте в виду, что вам нужно знать, в каком формате должна быть отформатирована дата.

Для автоматического маршаллинга вы также можете получить дату для работы, хотя вам, возможно, придется реализовать маршаллер, который поддерживает формат, необходимый для вашей веб-службы. См. Пример Float в базе кода ksoap2-android.

1 голос
/ 17 ноября 2010

Вы должны указать KSOAP, как сериализовать и десериализовать дату - для этого вам нужно написать класс, реализующий интерфейс Marshal, и зарегистрировать конверт для этого Marshal. Это также верно для других типов данных, таких как double.

Вот учебник о том, как это сделать:

Реализация интерфейса маршала KSOAP

...