2010-10-06 45 views
0

我正在使用第三方Web服務。我將一個字符串傳遞給該服務中的一個函數,該字符串是我從UTF-8文本文件讀取的。這個字符串包含一些非ASCII字符的問題。將UTF-8編碼的字符串傳遞給SOAP

現在,如果我保存的文本文件,以ANSI格式字符串中的閱讀和那個字串傳遞服務的話,工作平穩,但使用UTF-8編碼字符串的服務拋出異常"The request failed with HTTP status 400: Bad Request."

長話短說

  1. NON ASCII字符
  2. UTF-8編碼
  3. SOAP

我正在使用ASP.NET。

回答

0

您使用UTF-8字符串傳遞給3d方網絡服務調用的示例客戶端代碼是使用ASP.NET網頁/ UI或非可視化(即簡單控制檯C#程序?)。換句話說,我想知道UTF-8文件的內容是直接加載到服務器端(在您的ASP.NET)代碼中,還是首先從HTTP客戶端上下文傳遞內容使用HTTP POST/Upload)。

如果直接執行此操作,而不涉及HTTP Web瀏覽器,則可能是該Web服務實現可能不接受該字符串arg的UTF-8編碼。嘗試對另一個ws客戶端(使用不同的語言/平臺,如C++或Perl)做相同的處理。這將確認ws實現是否可以接受UTF-8。

+0

第三方服務使用Java。 UTF-8文件的內容位於我的服務器端。 其他這個第三方服務我也在.net中做了一個web服務,並嘗試向它傳遞字符串(UTF-8內容),但仍然存在問題。 – 2010-10-06 14:58:27