我在嘗試將Infopath 2007表單連接到WCF Web服務時遇到問題。我看來Infopath只想通過SOAP 1.0消息進行通信。爲了解決這個問題,我創建了一個.asmx Web服務。我應該考慮繼續採取這種解決方法還是找出一種方法讓WCF發出SOAP
1.0
1.1消息?Infopath 2007和WCF數據連接
回答
通過在webconfig中使用basicHttpBinding而不是wsHttpBinding,可以讓WCF與InfoPath一起使用。
只是爲了幫助xanax的答案,這是我最終在web.config文件中做的。這是創建新的WCF服務時生成的默認配置的一部分。我註釋掉了一個端點並添加了一個新端點,唯一的變化是從wsHttpBinding到basicHttpBinding的綁定,並且它工作正常。
<system.serviceModel>
<services>
<service name="Service" behaviorConfiguration="ServiceBehavior">
<!-- Service Endpoints -->
<!--<endpoint address="" binding="wsHttpBinding" contract="IService">-->
<endpoint address="" binding="basicHttpBinding" contract="IService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
...Other Config Here....
<system.serviceModel>
InfoPath默認情況下僅適用於basicHttpBinding。在InfoPath中使用webservice時,通常將webservice URL放入UDX文件中。在該文件中,沒有辦法爲目標服務指定綁定。您通常不會自己爲您的服務創建代理,InfoPath會爲您在幕後執行此代理,並且該代理僅使用basicHttpBinding。
如果你希望你的InfoPath表單與使用非basicHttpBinding的WCF服務工作,你可以通過在InfoPath表單代碼創建自己的代理程序這樣做。當您以編程方式創建代理時,您可以在代理的構造函數中指定目標WCF服務的綁定。使用編程創建的代理時不存在任何限制。當然,應該已經安裝了.NET 3.5,以便WCF庫可用於您的代碼以創建具有正確綁定的代理。當您安裝InfoPath時,只有.NET 2可用。
我已經試過這與wsHttpBinding和它的工作沒有問題。從閱讀許多文章和帖子,似乎很多人認爲InfoPath只能使用basicHttpBinding。這僅僅是部分正確的,因爲它只適用於你自己不創建代理的情況。
同意。我最初試圖讓WCF在沒有表單代碼的情況下使用infopath。最後,我剛與舊的asmx webservices一起去了。讓信息交流者理清它的代理,特別是當接口發生變化時,不用麻煩。並且在web服務方面更少麻煩,因爲它只適用於infopath,沒有解決方法。 我可能會看到更進一步的軌道。 – 2010-04-26 23:22:19
- 1. Infopath 2007重複表 - 兩個數據連接
- 2. SharePoint + InfoPath數據連接
- 3. InfoPath 2007&Sharepoint 2007
- 4. InfoPath 2007和.NET 4.0
- 5. Infopath創建數據連接時出錯
- 6. InfoPath表單重置主數據連接
- 7. 權限sharepoint 2007和infopath
- 8. InfoPath 2007:向SQL Server提交數據
- 9. MS infopath 2007
- 10. InfoPath 2007年
- 11. WCF會話和連接到數據庫
- 12. WCF到數據庫連接
- 13. MS Access 2007中的數據庫連接
- 14. 連接VB6和MS Access 2007
- 15. WCF數據庫連接:只有一個數據庫連接
- 16. Infopath 2007重複表空值
- 17. 在Excel 2007中,無法連接到數據連接的SQL Server數據庫
- 18. 數據庫連接:Visual Studio 2010和Microsoft Access 2007(OleDbException未處理)
- 19. 如何開始使用Infopath 2007和MOSS 2007中的Wokflow?
- 20. WCF服務中的數據庫連接
- 21. WCF數據服務的連接查詢
- 22. 連接池 - SharePoint 2007
- 23. Microsoft Access 2007連接
- 24. InfoPath - MOSS用戶信息列爲數據連接 - 排除組
- 25. 通過特定的數據連接通過代碼提交InfoPath
- 26. 使用SharePoint的外部數據連接的Infopath 2010字段BCS
- 27. 連接和認證與WCF
- 28. WCF和MySQL連接器
- 29. 一個WCF服務和多個數據庫連接
- 30. 無狀態WCF服務和數據庫連接池
你的意思是SOAP 1.1,對吧? – 2009-10-17 03:34:34
對不起,你是對的。肥皂1.1我會改變這個問題來反映這一點。 – 2009-10-18 22:09:36