2012-08-17 43 views
2

我試圖從Visual Studio中的解決方案連接到Taleo API。企業API(不要與Taleo商業版API混淆)是一個基於SOAP的Web服務,帶有許多WSDL端點。如何連接到Visual Studio中的Taleo企業版API?

我可以在SoapUI中成功查詢API,但是,當嘗試在Visual Studio中添加服務引用時,我沒有運氣。

這是我已經試過:

  1. 添加到WSDL的引用(請注意,出現在行動)。到目前爲止好...

    enter image description here

  2. Visual Studio中成功地生成必要的類,但是,上述方法盤旋是無處可尋。我已經搜索了幾個小時的API,甚至在Reflector中進行了一些搜索...他們真的是MIA。

    enter image description here

幾個意見:

  • 在瀏覽器中查看原始WSDL XML時(如果你需要一個樣品,我可以將它張貼)
  • 我可以看到的方法
  • 我可以在SoapUI中查詢這三種方法很好
  • 我的理解是這些方法只支持HTTP POST,所以Visual Studio可能會執行一個GET並且se服務器拒絕它? (我擺弄這一點,而我看到的是一個200響應)
  • 我後面代理(雖然,我能夠在連接了SoapUI無需配置代理)

此時,我正在考慮編寫自己的SOAP客戶端來使用HttpWebRequest執行查詢,但是我想我會在深入研究之前嘗試弄清楚什麼是錯誤的。

任何想法我在這裏做錯了嗎?

回答

1

我無法通過「添加服務引用」嚮導或傳統的「Web引用」方法添加對Taleo API的引用。我最終使用HttpWebRequest編寫自己的SOAP客戶端來直接獲取和發佈XML。

+0

你能分享這個嗎?我有同樣的問題。就我而言,我無法實例化Taleo企業Web服務用戶指南中提到的對象taleo.findSvc.FindService http://docs.oracle.com/cd/E37454_01/TCWSFP12B_UG_ENus.pdf – franciscovalera 2012-12-19 19:01:09

2

我也遇到了API的麻煩。當我嘗試添加服務引用由OP描述,我在錯誤列表包括以下內容獲得了一系列的錯誤:

Error: Member BusinessGoal.Items of type System.Object[] hides base class member BaseMultilingualEntity.Items of type multilingualStringField[]. Use XmlElementAttribute or XmlAttributeAttribute to specify a new name.

我能使用舊的Web引用機制,以生成代理類。您可以在添加服務參考→高級→添加Web引用下找到它。這將生成一個包含該服務的代理類代碼的Reference.cs文件。您需要在Visual Studio中選擇「顯示所有文件」才能將該文件隱藏在生成的Web引用下。 (您也可以使用Visual Studio附帶的WSDL.exe命令行工具來生成Reference。cs文件)

使用這種方法,我的代理類包括缺少的方法,但我仍然需要手動編輯Reference.cs文件以用[[]「替換所有」[] []「生成的類型被錯誤地創建爲鋸齒狀數組。