【问题标题】:BlackBerry Web-service call parameter encodingBlackBerry Web 服务调用参数编码
【发布时间】: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


【解决方案1】:

Unicode BOM?我会检查数据包嗅探器。因为它可能不是内容类型,而是字节本身。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 2010-12-15
    相关资源
    最近更新 更多