當我已經定義了下列接口web服務響應是使用MessageContract
[ServiceContract]
public interface IHealthProducts
{
[OperationContract()]
ResponseClass OrderSelfSignedHealthCertificate();
}
它返回下列類型變成ref參數
[MessageContract]
public class ResponseClass
{
[MessageBodyMember]
public string AnimalSpeciesCode
{
get;
set;
}
[MessageBodyMember]
public int VBN
{
get;
set;
}
}
我預期生成的客戶端代碼將暴露OrderSelfSignedHealthCertificate方法通過以下方式:
HealthProductsClient client = new HealthProductsClient();
ResponseClass response = client.OrderSelfSignedHealthCertificate();
I nstead,ResponseClass的屬性不會包裹在ResponseClass,但暴露就像這樣:
string OrderSelfSignedHealthCertificate(out int VBN)
當我的DataContract屬性和MessageBodyMember的數據成員屬性交換MessageContract,我得到預期的行爲(ResponseClass響應類型)。 但是我需要MessageContract,因爲我需要將一些屬性放在SOAP頭中。
我做錯了什麼?這是正常的行爲嗎?如何在使用MessageContract時獲得Response類返回類型?
任何幫助非常感謝。
請更新您的問題,而不是添加答案,除非您確實找到答案。 –