2015-01-15 37 views
0

好吧,這裏是我的故事,我有來自第三方的Java Web服務,我必須連接到此服務使用C# 此服務需要以下調用Java Web服務「休息」,需要授權用戶名和密碼,並從.Net證書#

  • 使用用戶名認證&密碼。
  • 證書通過密碼從客戶端發送「keystore.jks」(Java密鑰存儲文件)。

我的問題是這樣的服務供應商未提供的WSDL鏈接,服務和證書文件Java密鑰我掛在這2天,沒有運氣

搜索這個在網絡上

因此:我用SOAPUI軟件來調用這個服務和它運作良好

我想要的是, 是否有可能消耗此服務,而來自供應商的請求WSDL?如果是的話如何?

任何幫助不勝感激。 在此先感謝。

編輯: 服務URL像https://10.111.10.12/ropnrs/Person?crn=1234567 它不禁止

訪問擲Web瀏覽器返回403
+0

我不知道你爲什麼把REST單詞放在引號之間。這是因爲它實際上是一個帶有json對象的SOAP服務嗎? REST沒有將WSDL作爲公開元數據的標準方式。不過,我發佈了一個解決方案,可以爲您提供發送「原始」請求所需的控制權,就像您使用SOAP UI一樣。 – Cosmin

+0

我把REST,因爲當調用它扔SOAPUI它需要REST項目這是我第一次調用非.Net服務。 – nabukhas

回答

1

您可以通過發送與WebClient的一個POST請求,和填充的身體消耗沒有WSDL web服務請求與SOAP XML消息。

您可能需要添加額外的HTTP標頭。首先使用SOAP UI執行請求,然後使用提琴手查看請求。然後用WebClient發送請求。該代碼應與此類似:

using (var client = new WebClient()) 
{ 
    // this is the string containing the soap message 
    var data = File.ReadAllText("request.xml"); 
    // HTTP header. set it to the identical working example you monitor with fiddler from SOAP UI 
    client.Headers.Add("Content-Type", "text/xml;charset=utf-8"); 
    // HTTP header. set it to the identical working example you monitor with fiddler from SOAP UI 
    client.Headers.Add("SOAPAction", "\"http://tempuri.org/ITestWcfService/TestMethod\""); 
    // add/modify additional HTTP headers to make the request identical with what you get when calling from SOAP UI on a successful call 
    try 
    { 
     var response = client.UploadString("http://localhost:8080/TestWcfService", data); 
    } 
    catch (Exception e) 
    { 
     // handle exception       
    } 
} 

我不知道有關證書,但也許你可以將其設置爲網絡客戶端太莫名其妙。不幸的是,我對客戶證書瞭解不多。但如果你可以在評論中解釋我可能會幫助你。如果您設法使用此解決方案進行工作,請在此處張貼您的額外工作來處理證書問題。

WebClient是System.dll程序集中System.Net的類。

+0

感謝您的答案,但該服務不是WCF,它是Java Web服務及其REST服務。 我試圖用小提琴捕獲請求並沒有捕獲任何東西。 – nabukhas

+0

只要您發送正確的信息,沒關係。 WebClient用於發送原始請求。如果您可以更新該問題以包含使用SOAP UI發送的原始請求,那麼我可以爲.NET提供另一個更專門化的類。 – Cosmin

+0

呼叫服務扔了SoapUI 我不知道是否低於要求的細節從了SoapUI hepls ' GET https://10.111.10.12/ropnrs/Person當我不能捕獲從小提琴手的要求?CRN = 1234567 HTTP/1.1 接受編碼:gzip,緊縮 授權:基本TU9NUDpNT01QQCQkdzByZA == 接受語言:AR-OM 接受:文/ XML 主持人:10.111.10.12 連接:保持活動 用戶 - 代理:Apache-HttpClient/4.1.1(java 1.5)' – nabukhas

相關問題