Tôi cần sử dụng Java Webservice có các thành phần kiểu Ngày và Giờ.Sử dụng Java Webservice với các yếu tố Ngày và Giờ trong WCF
Ví dụ từ wsdl:
...
<xsd:element name="fromTime" nillable="true" type="xsd:time" />
<xsd:element name="dateOfInspection" type="xsd:date" />
...
Khi tiêu thụ các Webservice qua Thêm dịch vụ tham khảo Visual Studio 2008 tạo ra đoạn mã sau:
[System.Xml.Serialization.SoapElementAttribute(DataType="time", IsNullable=true)]
public System.Nullable<System.DateTime> fromTime { ... }
[System.Xml.Serialization.SoapElementAttribute(DataType="date")]
public System.DateTime dateOfInspection { ... }
Gửi một kết quả tin nhắn trong một lỗi phản ánh với InnerException :
'thời gian' là giá trị không hợp lệ cho thuộc tính SoapElementAttribute.DataType. Thuộc tính chỉ có thể được chỉ định cho các kiểu nguyên thủy.
Khi xóa thuộc tính DataType = "time" và DataType = "date", mọi thứ dường như hoạt động. Nhưng việc sửa đổi mã được tạo ra là một mẫu chống. Vậy có cách nào khác để làm việc này không?
Cập nhật:
Vấn đề chỉ tồn tại nếu ngày hoặc giờ yếu tố này là nullable!
Tôi Đã báo cáo lỗi trên trang web kết nối Microsofts. Nếu bạn có cùng một vấn đề, bạn có thể bỏ phiếu nó lên đây: https://connect.microsoft.com/VisualStudio/feedback/details/534453/consuming-java-webservice-with-nullable-date-and-time-elements-in-wcf-generates-invalid-datatype-attributes
Cập nhật 2:
Microsoft khẳng định đó là một lỗi và unlikly được cố định.
Cập nhật 3:
Tôi đã kiểm tra với VS2010 và nó vẫn tạo ra mã sai. Btw, chúng tôi đã kết thúc sửa đổi mã đã tạo ...
http://www.headsphere.net/2007/11/java-wcf-datetime-interop.html? –
Dường như đây có thể là lỗi. Vui lòng báo cáo tại http://connect.microsoft.com/visualstudio/. Sau đó đăng URL của báo cáo lỗi tại đây để người khác có thể bỏ phiếu trên đó. –
Bạn đã thử lại điều này trong Visual Studio 2010 chưa? Nếu vậy thì cùng một lỗi vẫn còn đó? (Tôi hỏi bởi vì chủ nhân của tôi đang phát điên với WCF những ngày này ... –