肥皂通话和内容长度问题

时间:2016-04-18 07:55:04

标签: java swing soap

我编写了一个基于此代码here

发送SOAP请求的java swing应用程序

总的来说它工作得很好,但是我在soap:BODY中解析中文字符时刚刚开始测试它,这会导致我从Web服务器得到400响应的错误:

s.AddParameter("xml", "班"); 

使用wireshark我最终将其跟踪到解析这些中文字符时构造的内容长度值(我假设任何其他多字节(?)字符)。

我已经通过简单地将代码更改为覆盖内容长度生成来证明这一点:

out.println("Content-Length: " + String.valueOf(postData.length()+2));

显然这不是一个解决方案,因为它只证明了我发送单个字符的非常孤立的测试用例,但我认为问题是首先计算postData.length()然后发布数据我的班字符是然后转换为\ 347 \ 217 \ 255,抛出内容长度并导致请求失败。

所以我要求就如何解决这个问题提出建议?

我是否可以先对值进行编码,获取内容长度并抑制帖子上的编码?我不确定实际编码它是什么;我假设PrintWriter?

问候。

0 个答案:

没有答案
相关问题