2016-02-27 74 views
2

使用BizTalk我正在尋找一種解決方案來公開接受oData請求的服務,如IE瀏覽器,然後返回oData json/xml?例如通過BizTalk服務暴露oData

Request: 
http://localhost/odata/Employees 
Response: 
oData or employees records in json or xml. 

它應該是基於相同EF模型的ASP WebServices的複製品,它使用控制器返回oData。

任何簡單的方法來做到這一點?

+0

是否有一個原因,你想在BizTalk主持這個,而不是一個普通的WCF或ASP.NET服務? –

+0

是的丹,我們想要通過BizTalk路由所有流量,而不是自己創建服務。 – BizTalker

+0

嗯,是的,你只需在BizTalk Server中使用REST和JSON支持。你有嘗試過什麼嗎?您是否遇到特定的問題/問題? –

回答

1

所以我不知道這是一個完整的答案,這可能不是你想聽到的,但這裏是我的想法:

  1. 它會是不平凡的做了充分的OData只使用BizTalk的REST和WCF工具來實現。這可能是可能的。
  2. 最好的辦法是編寫一些自定義適配器/管道/業務流程,以包裝Microsoft.Services.Data的功能 - 換句話說,託管WCF服務,就好像它在BizTalk中運行一樣(與其他WCF適配器非常相似)。再說一次,這不是一項簡單的任務,我不確定是否有現成的適配器(有專有的查詢oData服務,但不處理查詢)。
  3. 或者,如果您只想要oData功能的子集,只需使用JSON功能在WebHTTP服務中實現該功能即可。這可能更可行,假設您的用例相當有限。

簡單地寫一個實現Microsoft.Services.Data的WCF服務,並根據需要對BAM API和/或BRE API進行適當的調用可能會更直接。如果您已經將某些消息發佈到BizTalk端點,則基本上將沿着#2(自定義適配器)的路徑走。如果您確實需要BizTalk將提供的跟蹤/節流/可靠性,那麼這值得一試。