1、执行服务下面的bat直到成功为止
2、将服务的/BpImplement下的SVC文件拷贝services
位置:C:/UFIDA/U9/Portal/Services
3、配置C:/UFIDA/U9/Portal/Services/webconfig 完成后在IE中访问
配置方法:
contract --- 同/BpImplement文件夹下的SVC文件名
name --- 同/BpImplement/位置下的文件夹里的stub文件名
访问方法:
http://localhost/portal/services/服务的文件名
4、生成桩代码
(1)、复制一个bat改名为当前服务名
(2)、修改bat中的svc地址,执行批处理直到生成代码文件
(3)、将生成的代码文件剪切到UI,添加到UI项目中
(4)、修改添加后的代码文件
(1)加命名空间:规则 -- namespace 服务名,如 namespace GetPrdEndItemSV
(2)注释ThreadContext 和 ArrayOfKeyValueOfanyTypeanyTypeKeyValueOfanyTypeanyType 类
//public partial class ThreadContext
//public partial class ArrayOfKeyValueOfanyTypeanyTypeKeyValueOfanyTypeanyType
5、修改CallSV.cs文件,添加对应的方法
CallSV里的方法 /// <summary>
/// 盘点单据料号查询服务
/// </summary>
/// <param name="docNo"></param>
/// <param name="status"></param>
/// <param name="from"></param>
/// <param name="to"></param>
/// <returns></returns>
public static GetPrdEndItemSV.UFIDAU9InvDocGetPrdEndItemSVPrdEndDocNOListDTOData[] GetPrdEndItem(int state, DateTime startDate, DateTime endDate, string docNo)
{
System.ServiceModel.Channels.Binding binding = GetPrdEndItemSV.UFIDAU9InvDocGetPrdEndItemSVIGetPrdEndItemSVClient.CreateDefaultBinding();
binding.SendTimeout = new TimeSpan(0, min, 0);
string remoteAddress = GetPrdEndItemSV.UFIDAU9InvDocGetPrdEndItemSVIGetPrdEndItemSVClient.EndpointAddress.Uri.ToString();
remoteAddress = remoteAddress.Replace("shankx", ServerAddress);
EndpointAddress endpoint = new EndpointAddress(remoteAddress);
GetPrdEndItemSV.UFIDAU9InvDocGetPrdEndItemSVIGetPrdEndItemSVClient client = new GetPrdEndItemSV.UFIDAU9InvDocGetPrdEndItemSVIGetPrdEndItemSVClient(binding, endpoint);
ThreadContext context = GFBarCode.CallSV.CreateContextObj();
GetPrdEndItemSV.MessageBase[] msg = null;
return client.Do(context, state, startDate, endDate, docNo, out msg);
}
6、如果是查询服务则在selectDoc.cs中相应位置填写调用Callsv.cs的代码
如果是操作服务则在GFBarcode.cs中相应位置填写调用Callsv.cs的代码