2009-04-22 2 views
0

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

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

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

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

Так что я должен сделать новообращенного, потому что TimeOfArrival поле установлено с: время и по какой-то причине в C# требует ей: время, чтобы быть в формате DateTime.

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

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

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

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

ответ

0

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

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