【发布时间】:2011-07-22 15:50:04
【问题描述】:
我已使用 Java Sun Wireless Toolkit 2.5.2 为我的 SOAP Web 服务生成方法存根。我已经使用了一段时间,效果很好。我现在需要添加对法语的支持。当我发送一个像 'pièce' 这样的字符串作为对象的属性之一时,它会在被读取时变成 'pi??ce'服务器。显然,编码在某处关闭,但我看不到任何地方可以更改生成的存根对传递给 Web 服务的参数进行编码的方式。有什么建议吗?
更新:这是从 BlackBerry 发送的 xml 的标题和开头:
POST /website/service.asmx HTTP/1.1
Connection: close
Via: MDS_4.1.5.26
Content-Length: 2257
Content-Type: text/xml
Content-Language: en-US
Accept: */*
Host: host
User-Agent: RIM JSR172/1.0
SOAPAction: "http://www.test.com/Test"
<?xml version="1.0" encoding="utf-8"?>
这是从 iPhone 发送的 xml 的标题和开头(有效):
POST /website/service.asmx HTTP/1.1
Connection: keep-alive
Content-Length: 2359
Content-Type: application/soap+xml; charset=utf-8
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: fr-fr
Host: host
User-Agent: wsdl2objc
Soapaction: http://www.test.com/Test
<?xml version="1.0"?>
【问题讨论】:
-
你确定它在客户端被破坏了,还是它可能在服务器端被破坏了?
-
我不是 100% 肯定,但我有一个 iPhone 客户端访问相同的 Web 服务,并且所有内容都正确发送和接收。这让我认为问题出在黑莓方面。
-
两边都使用 UTF-8 是个好主意。
-
是的,会的。正如我在问题中所说,我看不到在黑莓端设置(或确保设置正确)的位置。
-
您可以自己添加 Content-Type 吗?
标签: asp.net web-services blackberry soap