我想调用一个IIS托管的WCF Web服务,该服务只是从BizTalk业务流程返回当前日期。此服务没有输入参数。在BizTalk Orchestration中没有输入参数调用WCF服务
请忽略第一个Receive_1和最后一个Send_1形状,因为我刚刚使用它们开始使用此业务流程。我的业务流程是这样的:
我用“添加生成项目......”向导生成的引用添加到业务流程中的Web服务。我的Web服务定义是这样的:
[ServiceContract]
public interface ICalculator
{
[OperationContract]
DateTime GetLastExecutionDate();
}
public class CalculatorService : ICalculator
{
public DateTime GetLastExecutionDate()
{
return DateTime.Now.AddMonths(-6);
}
}
后我加入了生成的参考BizTalk项目,向导创建像下面一组端口和多声部的消息:
我有也创造了当地的消息像下面这些调用之间传输数据:
现在,我已经阅读了无处不在,我需要构建InputMessage以调用不带参数的Web服务。
有些论坛/网站说我需要简单地创建一个空白ConstructMessage形状dateRequest消息的消息类型。这样做虽然该项目不编译,我得到以下错误信息:
而且other suggested item是一个空白文档做MessageAssignment。所以在我的业务流程中的MessageAssginment形状有以下几点:
xDoc = new System.Xml.XmlDocument();
xDoc.LoadXml("<GetLastExecutionDate/>");
dateRequest.parameters = xDoc;
这枚编译,并得到的部署,我的BizTalk情况下得到的悬浮但下列情况除外:
没有执行发送管道故障: “Microsoft.BizTalk.DefaultPipelines.XMLTransmit, Microsoft.BizTalk.DefaultPipelines,版本= 3.0.1.0,文化=中立, 公钥= 31bf3856ad364e35” 源: “XML汇编器” 发送端口: “REDACTED_1.0.0.0_REDACTED.ExportData_WCFPort_dace989afd9cd9c5 “ URI:“http://localhost/COMPANYNAME/WCFService/Service.svc”原因:这 汇编不能检索使用这种类型的文档规范: “GetLastExecutionDate”。
并通过到服务的参数数据:
所以我的问题是:我如何调用WCF服务,不期待任何输入参数。