使用现有wsdl创建BizTalk WCF端点

时间:2012-08-30 17:44:02

标签: wcf wsdl biztalk biztalk-2010

第三方供应商给了我一个wsdl,用于他们希望能够调用的服务。是否可以基于现有的服务合同和模式在BizTalk中公开WCF端点,而不尝试对其进行反向工程?

1 个答案:

答案 0 :(得分:2)

这可以按如下方式完成:

从Visual Studio开始:

  1. 在要导入架构的项目上,右键单击并选择Add Generated Items
  2. 选择使用WCF服务
  3. 在BizTalk使用向导上选择Metadata Files (WSDL and XSD),然后添加WSDL / XSD文件,并为工件提供命名空间。
  4. (不要删除.odx文件,因为它包含端口类型)
  5. 然后创建Orch以处理传入消息,该消息返回相应响应类型的响应(例如,请参阅ExposeWebService Biztalk示例,分别使用供应商提供的请求和响应模式作为输入和输出)。使用导入的端口类型可以节省查找和分配模式以进行请求和响应的时间。端口还将具有供应商期望的操作名称。
  6. 您需要构建项目并将其部署到BTS。
  7. 然后可以使用BizTalk WCF publication wizard发布网络服务,例如在您的本地IIS上。如果您通过消息框使用直接绑定,那么如果您已有WCF接收端口,则无需创建新的接收端口。您可以指定虚拟目录的名称,但请注意,BizTalk将为.svc生成任意名称。
  8. 如果您还没有用于BizTalk WCF接收的应用程序池,则需要使用与BizTalk隔离主机相同的凭据创建一个
  9. 将上述向导创建的虚拟目录分配给应用程序池。
  10. 确保BizTalk中的接收位置正在运行
  11. 您现在应该可以导航到您的orch发布的虚拟根目录,添加服务引用,测试您的orch等。

    由于您的集成供应商已经拥有WSDL,如果您不想使用IIS而是通过直接手动创建接收端口让BizTalk监听端口80,您也可以完全跳过该发布(步骤7-9)在Biztalk中使用WCF-Custom。您可能需要use netsh来允许此操作(除非您的BizTalk以管理员访问权限运行,或者类似,这是不可取的)。