我需要使用具有Date和Time類型元素的Java Webservice。從WSDL在WCF中使用帶有日期和時間元素的Java Webservice
實施例:
...
<xsd:element name="fromTime" nillable="true" type="xsd:time" />
<xsd:element name="dateOfInspection" type="xsd:date" />
...
當消耗web服務通過添加服務引用的Visual Studio 2008生成以下代碼:
[System.Xml.Serialization.SoapElementAttribute(DataType="time", IsNullable=true)]
public System.Nullable<System.DateTime> fromTime { ... }
[System.Xml.Serialization.SoapElementAttribute(DataType="date")]
public System.DateTime dateOfInspection { ... }
在反射誤差發送消息結果與的InnerException :
'time'是SoapElementAttribute.DataType屬性的無效值。該屬性只能爲基元類型指定。
當刪除DataType =「time」和DataType =「date」屬性時,一切似乎都奏效。但修改生成的代碼是一種反模式。那麼有沒有其他方法可以使這個工作?
更新:如果日期或時間元素可以爲空
問題只存在!
我報告了微軟連接站點上的一個錯誤。如果你有同樣的問題,你可以在這裏投上一票: https://connect.microsoft.com/VisualStudio/feedback/details/534453/consuming-java-webservice-with-nullable-date-and-time-elements-in-wcf-generates-invalid-datatype-attributes
更新2:
微軟證實這是一個錯誤,並unlikly加以固定。
更新3:
我經過與VS2010,它仍然產生了錯誤的代碼。順便說一句,我們最終修改生成的代碼...
http://www.headsphere.net/2007/11/java-wcf-datetime-interop.html? – 2010-02-17 09:06:49
這看起來可能是一個錯誤。請通過http://connect.microsoft.com/visualstudio/報告。然後在這裏發佈錯誤報告的URL,以便其他人可以投票。 – 2010-02-17 09:07:48
你在Visual Studio 2010中再次嘗試過嗎?如果是的話,仍然存在相同的錯誤? (我問,因爲我的老闆現在對WCF很瘋狂...... – 2011-05-07 17:44:53