无法获取 WCF 服务以将 XML 文档发送到 BizTalk 接收位置

Can't get WCF service to send XML Document to BizTalk Receive Location

我是 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 服务和 BizTalk 之间没有 link。如果您想在 BizTalk 中接收 xml,那么您需要使用 BizTalk WCF Web 服务发布向导将 Orchestration 或 Xml Schema 公开为 WCF 服务。这与 BizTalk 一起安装。详情请见link:msdn link

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