【问题标题】:Can't get WCF service to send XML Document to BizTalk Receive Location无法让 WCF 服务将 XML 文档发送到 BizTalk 接收位置
【发布时间】:2015-01-28 19:12:19
【问题描述】:

我是 BizTalk 和 WCF 服务的新手,我正在尝试弄清楚如何使用 WCF 服务将 XML 数据传递给 Biztalk。我想我已经接近了,但是当我调用 WCF 服务操作时,该操作成功执行,但似乎没有在 Biztalk 中生成任何类型的消息。假设简单地调用一个操作就足以触发 BizTalk 的消息,我错了吗?

以下是我的代码以及有关我的 BizTalk 配置的一些详细信息:

WCF 服务:

public interface IService1
{
       [OperationContract, XmlSerializerFormat]
       XmlDocument GetXMLDocument(string sourceXML);
}

public class Service1 : IService1  
{  
    public XmlDocument GetXMLDocument(string sourceXML)
    {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(sourceXML);
        return doc;
    }
}  

调用应用程序(按钮点击调用服务):

protected void Button2_Click(object sender, EventArgs e)
{
        XmlDocument doc = new XmlDocument();     
        doc.AppendChild(doc.CreateNode(XmlNodeType.Element, "Patients", "test"));
        SendDoc(doc);             
}

protected void SendDoc(XmlDocument doc)
{
      //use a Service Client Object to call the service   
      objServiceClientobjService.GetXMLDocument(doc.OuterXml);      
}

BizTalk 配置:

接收端口:

  • 端口类型:单向

接收地点:

  • 类型:WCF-Custom 与 basicHTTP 绑定
  • 端点地址与 IIS 托管的 WCF 服务相同
  • 接收管道类型:XMLReceive

【问题讨论】:

  • 您在 IIS 中实现了该服务。不在 BizTalk 中。

标签: wcf biztalk


【解决方案1】:

您的实现不正确。您的 WCF 服务和 BizTalk 之间没有链接。如果要在 BizTalk 中接收 xml,则需要使用 BizTalk WCF Web 服务发布向导将业务流程或 Xml 架构公开为 WCF 服务。这与 BizTalk 一起安装。更多详情请查看链接:msdn link

【讨论】:

    【解决方案2】:

    我一直使用的解决方案是公开一个端点。看看this example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多