2010-10-06 47 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