我想調用一個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服務,不期待任何輸入參數。