2015-11-09 140 views
0

我想打電話從我ServiceStack項目中的第三方SOAP的Web服務(我使用了默認的servicestack項目佈局:enter image description hereServicestack - 注射SOAP Web服務

現在,我想創建。一個普通的Request DTO類(在servicestack.models項目中),然後在ServiceStack.Interfaces項目中處理這個請求。當處理這個請求時,我想調用第三方soap服務&應用一些邏輯並返回一個自定義響應DTO。

但是,我試圖從Servicestack.Interfaces項目中調用相關的SOAP服務時出現卡住。

嘗試號碼1:
我曾嘗試加入SOAP服務參考ServiceStack.Interface(通過 '添加引用...')。但是,當嘗試調用SOAP服務時(從ServiceStack.Interfaces項目中),我收到一條錯誤消息,指出「沒有爲此SOAP Web服務定義/找到端點」。

嘗試號碼2:
我曾嘗試加入SOAP服務參考ServiceStack主體工程。然而,現在我堅持嘗試注入這個服務,所以我可以從ServiceStack.Interfaces項目中調用它。

任何幫助表示讚賞,
馬克

+0

那麼你想創建一個新的端點(由你的代碼託管),它調用一些外部的第三方SOAP Web服務? – PatrickSteele

+0

是的,沒錯。我想創建一個新的端點(由我自己的代碼託管),它調用另一個第三方SOAP Web服務。 –

+0

好的。你提到過幾次關於「從ServiceStack.Interfaces」項目調用代碼的問題。這是否意味着你已經從github分支了ServiceStack,並且將代碼添加到了ServiceStack.Interfaces項目中?或者你只是試圖使用ServiceStack類來調用SOAP Web服務? – PatrickSteele

回答

1

對於遇到相同問題的任何人,我通過將Soap Service端點配置添加到主項目的配置文件中來解決這個問題。之後,我可以從WebApplication.ServiceInterface項目查詢SOAP服務。

1

From this comment,我不認爲你將能夠使用ServiceStack客戶端訪問第三方SOAP服務(除非,當然,他們已經建立該服務使用ServiceStack)。

在這種情況下,我會簡單地使用一些XML序列化和一個HTTP POST(後面跟着一些XML反序列化的響應)。

+0

感謝您的回答。也許我的問題還不夠清楚,所以我已經編輯了一下,希望能夠更清楚一些。 –

+0

這個問題似乎很明顯:您想從C#代碼中調用SOAP服務。爲此,正如我的問題所指出的那樣,您應該只使用XML序列化並自己進行POST。或者,根據服務作者的建議使用該服務(它們是否包含.NET綁定?如果它是.NET ASMX,則可以通過Visual Studio添加引用等)。 – PatrickSteele

+0

嗨,帕特里克,他們包含.net綁定(wsdl),但是,正如在我的問題中指出的,如果我添加服務引用(路由1),我沒有發現端點發現錯誤? –