wsdl s: тип времени не работает в c # - PullRequest
0 голосов
/ 22 апреля 2009

Я отправляю запросы SOAP на внешний веб-сервис. Есть несколько полей, которые составляют запрос, и одно из них определено как тип s: time.

Я бы хотел установить в этом поле времени значение, но c # принимает только тип даты и времени, а не только время.

...
soapClient soapService = new soapClient();
sendTime soapRequest = new sendTime();

soapRequest.TimeOfArrival = Convert.ToDateTime("09:00:00");
...

Так что мне нужно выполнить преобразование, потому что поле TimeOfArrival установлено в s: time, и по какой-то причине c # требует, чтобы s: time было в формате datetime.

Если я просто сделаю следующее:

soapRequest.TimeOfArrival = "09:00:00";

Я получаю сообщение об ошибке «Не удается неявно преобразовать тип« строка »в« System.DateTime »

Так как я могу установить поле на время?

1 Ответ

0 голосов
/ 22 апреля 2009

Если вы использовали VS2k8 для создания интерфейса SOAP из WSDL-ссылки, тогда soapRequest.TimeOfArrival будет правильным типом C # для соответствия типу SOAP.

Если C # не имеет точно совпадающего типа, тогда он будет использовать наиболее подходящий тип, и, я полагаю, внесу любые соответствующие корректировки внутренне. Исходя из этого, ваш первый фрагмент кода - правильный подход.

...