我正在尝试将我的SSRS报告调用我的WCF服务,但是当我这样做时,参数始终为null。似乎我一直关注的大部分示例都不使用参数对象,他们只会在我的情况下使用int PONumber和int itemNumber参数。有没有办法使用对象参数?
我的服务合同:
[ServiceContract(Namespace = "http://schemas.XXX.com/WMS/WMSCustom/ReportingService")]
public interface IQAReportingServiceContract
{
[OperationContract]
List<QAItemDetailResponse> GetQAItemDetail(QAItemDetailRequest request);
}
请求对象:
[DataContract]
public class QAItemDetailRequest
{
[DataMember]
public int PONumber { get; set; }
[DataMember]
public int itemNumber { get; set; }
}
我的SSRS数据集查询:
<Query>
<Method Name="GetQAItemDetail" Namespace="http://schemas.wegmans.com/WMS/WMSCustom/ReportingService">
<Parameters>
<Parameter Name="PONumber"></Parameter>
<Parameter Name="itemNumber"></Parameter>
</Parameters>
</Method>
<SoapAction>http://schemas.XXX.com/WMS/WMSCustom/ReportingService/IQAReportingServiceContract/GetQAItemDetail
</SoapAction>
</Query>
答案 0 :(得分:0)
是。您应该分别将[DataContract]和[DataMember]属性更改为[MessageContract]和[MessageBodyMember]。此外,它有助于设置MessageBodyMember“Order”参数。