2009-04-22 59 views
0

我正在向外部Web服務發送SOAP請求。有幾個字段組成請求,其中一個字段被定義爲s:time類型。wsdl s:時間類型不工作在c#

我想將此時間字段設置爲一個值,但c#只接受日期時間類型,而不僅僅是時間。

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

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

所以我必須做的轉換,因爲TimeOfArrival字段設置爲S:時間,由於某種原因,C#需要S:時間是在格式日期時間。

如果我只是做到以下幾點:

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

我得到的錯誤「無法隱式轉換類型‘字符串’到‘System.DateTime的’

所以,我怎麼能設置領域只是一個時間?

回答

0

如果您使用VS2k8從WSDL鏈接構造SOAP接口,那麼soapRequest.TimeOfArrival將是正確的C#類型以匹配SOAP類型。

如果C#沒有完全匹配的類型,那麼它將使用最適合的類型,我相信在內部進行適當的調整。在此基礎上,您的第一段代碼是正確的方法。