我正在将最新版本的 ServiceStack 与 NuGet 一起使用。我有一个基本的服务设置,可以很好地与 JsonServiceClient 配合使用,并且按预期通过了我们所有的单元测试。
不幸的是,我还在尝试支持 SOAP 和 Visual Studios“添加服务参考”代理生成,以便与希望继续使用这种框架的其他组进行互操作。
我遇到的是我们的 DTO(包括 Response 对象)没有被填充到 ServiceStack 通过元数据页面生成的 XSD 或 wsdl 中。这似乎很奇怪,因为在查看单个 SOAP 操作示例时,生成的示例中显示了正确的响应和 DTO。
示例响应:
Namespace Operations
<DataContract>
Public Class GetItemResponse
Implements IHasResponseStatus
<DataMember>
Public Property ResponseStatus As ResponseStatus Implements IHasResponseStatus.ResponseStatus
<DataMember>
Public Property Item As Item
End Class
End Namespace
一个示例 DTO:
Namespace Types
<DataContract>
Public Class Item
<DataMember>
Public Property ItemIdentifier As String
<DataMember>
Public Property ItemId As Guid?
<DataMember>
Public Property ItemName As String
<DataMember>
Public Property Description As String
<DataMember>
Public Property InstallDate As DateTime?
<DataMember>
Public Property FeatureNumber As String
<DataMember>
Public Property ModelNumber As String
End Class
End Namespace
我也在使用 Assembly: ContractNamespace 属性来设置 XML 命名空间。