一个简单的BizTalk+WebService+Mapping+Soap Adapter 的Demo
一个简单的BizTalk+WebService+Mapping+Soap Adapter 的Demo 这个例子很简单,就是演示下webservice在Biztak下的应用,把一个包含雇员的信息的报文通过Biztalk写入文件里。 1.?????? 新建一个WebService项目,就叫WebSite1好了.右键项目添加一个类Employee_Entity 2.?????? Employee_Entity这个类是个实体类,代码如下: public class Employee_Entity { ??? public Employee_Entity() ???? { ???????? // ???????? // TODO: 在此处添加构造函数逻辑 ???????? // ???? } ? ??? string employee_id; ? ??? public string Employee_id ??? { ??????? get { return employee_id; } ??????? set { employee_id = value; } ??? } ??? string employee_name; ? ??? public string Employee_name ??? { ??????? get { return employee_name; } ??????? set { employee_name = value; } ??? } ??? double employee_salary; ? ??? public double Employee_salary ??? { ??????? get { return employee_salary; } ??????? set { employee_salary = value; } ??? } } ? 3.?????? 把HelloWorld的代码改为如下: ??? [WebMethod] ??? public void Emplyee_Info(Employee_Entity employee) ??? { ??????? string emp_id = employee.Employee_id; ??????? string emp_name = employee.Employee_name; ??????? double emp_sal = employee.Employee_salary; ? ??????? StoreEmpInfo(emp_id,emp_name,emp_sal); ??? } ? ??? public void StoreEmpInfo(string emp_id,string emp_name,double emp_sal) ??? { ??????? System.IO.FileStream fs = new System.IO.FileStream(@"d:/123.txt",System.IO.FileMode.Append,System.IO.FileAccess.Write); ??????? string str = string.Format("EmployeeID:{0};EmployeeName:{1};Salary:{2} /n",emp_id,emp_sal.ToString()); ??????? fs.Write(System.Text.Encoding.GetEncoding("GB2312").GetBytes(str),System.Text.Encoding.GetEncoding("UTF-8").GetByteCount(str)); ??????? fs.Close(); ??????? fs.Dispose(); } 上面这个方法很简单,就是写文件. 这个时候就是一个可以正常运行的WebServices. ? 4.?????? 新建一个空BizTalk项目,添加上面的WebService的引用,别名叫EmpService 5.?????? 添加一个新的Schema文件EmployeeInfo.xsd,节点如下: ?????
6.?????? 新建一个Mapping文件Emp_Info.btm,源文件选择刚才建立的EmployeeInfo.xsd,目标文件选择EmpService.Refernce,这个Refernce就是从WebService里的实体类中自动生成的。节点映射如下: ???
7.?????? 新建一个流程图BizTalk.EmpInfo.Orch.odx,如下
构建上面的流程图包括3个Message:Message_In,Message_Out,Message_Responses Message_In的消息类型是你自己建立的BizTalk_WebService.EmployeeInfo Message_Out消息类型从下拉框中选择类别Web Message Type里的BizTalk_WebService.EmpService.Service_.Emplyee_Info_request Message_Responses消息类型从下拉框中选择类别Web Message Type里的BizTalk_WebService.EmpService.Service_.Emplyee_Info_response 其他属性: Receive_Emp:Message= Message_In, ConstructMessage_1:Message Constructed=Message_Out Transform_Emp:Mapping为Emp_Info.btm Send_Emp:Message=Message_Out Receive_response:Message= Message_Responses 端口EmpSoap的建立: 在端口建立向导里新建立一个端口名称为EmpSoap,下一步端口类型选择已存在的端口类型,如下:
选择Web Port Type,然后下一步下一步完成。 8.?????? 这样,这个应用就可以部署测试了。 9.?????? 接受端口接受EmployeeInfo.xsd格式报文,发送端口使用SoapAdapter,配置里的Web Service URL为部署的webservice地址。 10.?? Ok,部署成功,就可以在文件里看见写入的雇员信息了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- angularjs – 如何在Angular2中使用owl-carousel?
- bootstrap 分页控件,实现直接转到某页
- (总结1)WinForm中文件上传服务器:WebService
- 数组 – Scala类型推断:不能从Array [T]推断出IndexedSeq
- jekyll bootstrap搭建github blog
- bootstrap兼容IE6、7、8版本(IE9以下版本)
- angularjs – Angular JS单页应用程序中的神秘内存泄漏
- Angular 4 http获取查询参数
- Bootstrap pc pad phone 响应式布局
- 如何使用scala规范化或标准化spark中具有多列/变量的数据?