无法获取 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 配置:
接收端口:
- 端口类型:单向
接收地点:
- 类型:具有基本 HTTP 绑定的 WCF 自定义
- 终结点地址与 IIS 托管的 WCF 服务相同
- 接收管道类型:XML接收
您的实施不正确。您的 WCF 服务和 BizTalk 之间没有 link。如果您想在 BizTalk 中接收 xml,那么您需要使用 BizTalk WCF Web 服务发布向导将 Orchestration 或 Xml Schema 公开为 WCF 服务。这与 BizTalk 一起安装。详情请见link:msdn link
我一直使用的解决方案是公开端点。看看 this example:
我是 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 配置:
接收端口:
- 端口类型:单向
接收地点:
- 类型:具有基本 HTTP 绑定的 WCF 自定义
- 终结点地址与 IIS 托管的 WCF 服务相同
- 接收管道类型:XML接收
您的实施不正确。您的 WCF 服务和 BizTalk 之间没有 link。如果您想在 BizTalk 中接收 xml,那么您需要使用 BizTalk WCF Web 服务发布向导将 Orchestration 或 Xml Schema 公开为 WCF 服务。这与 BizTalk 一起安装。详情请见link:msdn link
我一直使用的解决方案是公开端点。看看 this example: