使用消息合同进行WCF客户端访问

时间:2010-03-19 15:52:44

标签: wcf wcf-client

我有一个Web服务,我添加了一些有消息合同的额外类,之后它改变了我们访问某些方法的方式(我没有向这些类添加消息合同,这些是数据合同),早期即在我们为请求和响应创建一个对象之前(比如参见Before部分),我们正在为OrderStatusResponse类创建一个对象。但是如果你现在看到After(我们必须为请求和响应创建单独的对象)。

这是启用“始终生成邮件合同吗?”的副作用。

之前

SmartConnect.Service1Client Client = 
    new SmartConnectClient.SmartConnect.Service1Client();
SmartConnect.OrderStatusResponse Status = 
    new SmartConnectClient.SmartConnect.OrderStatusResponse();
Status.UserID = "1234";
Status.Password = "abcd";
Status.SoftwareKey = "abc";
Status.OrderNumber = "1234";

Status = Client.GetOrderStatus(Status);
lbl_OS.Text = Status.Status.ToString();
lbl_RM.Text = Status.ReturnMessage.ToString();

SmartConnectRepublic.SmartConnectClient SmartClient = 
    new WCF_Client.SmartConnectRepublic.SmartConnectClient();
//SmartConnectRepublic.OrderStatusResponse Status = 
    new WCF_Client.SmartConnectRepublic.OrderStatusResponse();

WCF_Client.SmartConnectRepublic.GetOrderStatusRequest request = 
    new WCF_Client.SmartConnectRepublic.GetOrderStatusRequest();


request.status = new WCF_Client.SmartConnectRepublic.OrderStatusResponse();
request.status.OrderNumber = "1055055";
request.status.UserID = "1234";
request.status.Password = "dfsdfsd";
request.status.SoftwareKey = "sdfsdfsdfs";

WCF_Client.SmartConnectRepublic.GetOrderStatusResponse response = 
    new WCF_Client.SmartConnectRepublic.GetOrderStatusResponse();

response = SmartClient.GetOrderStatus(request);


lbl_Status.Text =  response.GetOrderStatusResult.Status;
lbl_RC.Text = response.GetOrderStatusResult.ReturnCode.ToString();
lbl_RM.Text = response.GetOrderStatusResult.ReturnCode.ToString();

1 个答案:

答案 0 :(得分:0)

是的,我怀疑这与使用邮件合同有所不同。但你似乎已经弄明白了。