我有一個c#「客戶端」和一個Java「服務器」。 java服務器有一個wsdl它服務於客戶端。 到目前爲止,它對於c#向服務器發出請求以執行soap操作起作用。我的服務器獲取肥皂請求執行該方法並嘗試將結果返回給客戶端。如何解決在c#中的協議違規
但是,當我將響應發送到c#時,我得到「服務器提交了協議違規,Section = ResponseStatusLine」。
我花了整整一天的時間來解決這個問題,並沒有提出任何有效的方法。如果我解釋我做了什麼,這篇文章會很長,所以我會保持簡短。
我谷歌搜索幾個小時,一切都告訴我我的「響應線」是正確的。我嘗試關閉Skype,重新排列響應行,添加東西,拿走東西等,等等都無濟於事。
這是一個班級任務,所以不行,我不能使用apis來幫忙。我必須在服務器端手動執行所有操作。這意味着手動解析,手動創建soap響應和http響應。只是以爲你想知道,在你說使用的東西,它爲我做。
我甚至試圖通過創建一個「模仿」c#的java客戶端來確保我的服務器正在發送正確的頭文件,以便我可以看到服務器返回的內容。但是,它正在返回到我告訴它發送的內容。我試着告訴我的java客戶端做同樣的事情,但對一個真正的運行c#服務,看看真正的服務返回什麼,它返回基本上相同的東西。爲了安全起見,我複製了它的響應並嘗試將它發送到C#客戶端,並且仍然拋出錯誤。
任何人都可以幫忙嗎?我嘗試了所有我能想到的,包括將useUnsafeHeaderParsing添加到我的應用程序配置中。沒有任何工作。我把它發送到一個真正的服務發送它,它對我大叫。我把它發給我想要的東西,它大叫。
我送這樣的:
"200 OK HTTP/1.0\r\n" +
"Content-Length: 201\r\n" +
"Cache-Control: private\r\n" +
"Content-Type: text/xml; charset=utf-8\r\n\r\n";
投票關閉 - 家庭作業問題顯然不是真的在這裏支持的東西。 – TomTom
@TomTom他們是。 –