Câu hỏi khá cơ bản, nhưng tôi dường như không thể tìm thấy câu trả lời ở bất cứ đâu.Tạo một từ điển mới trong một phong bì SOAP
Làm cách nào để bạn chỉ định một phiên bản mới của Dictionary<string, string>
trong SOAP? Về cơ bản tôi có phong bì này (ommitted phong bì thẻ cấp cao nhất để có thể đọc):
<soapenv:Body>
<tem:LogInWithCredentials>
<tem:Request>
<ttf1:Password>password</ttf1:Password>
<ttf1:UserName>username</ttf1:UserName>
<ttf1:RequestInfo></ttf1:RequestInfo>
</tem:Request>
</tem:LogInWithCredentials>
</soapenv:Body>
RequestInfo
là tài sản trong câu hỏi, nhưng nó luôn luôn null
. Tôi giả định rằng sự hiện diện của tài sản trong phong bì sẽ được deserialized vào một trống Dictionary<string, string>
, tuy nhiên đây không phải là trường hợp.
Theo truyền thống, từ điển không thể tuần tự hóa được trong .NET. Điều đó nói rằng, DataContractSerializer có thể xử lý điều này mà không có một vấn đề. Tôi nghi ngờ vấn đề của bạn không phải là serializer. –
Lý do của bạn cho suy nghĩ đó sẽ được deserialized như là một từ điển? Nó được định nghĩa như thế nào trong lược đồ? Và, bạn đã thử sử dụng Tham chiếu dịch vụ chưa? Trong trường hợp đó, loại thuộc tính được tạo ra là gì? –