【发布时间】:2014-08-26 18:10:56
【问题描述】:
我使用 APACHE-CXF 开发了一个客户端服务,以从我们的应用程序中使用外部网络服务。一切顺利: - 从 wsdl 生成的类 - 在使用 SOAPUI 进行简单的主测试或本地测试时,该调用运行良好。
但是当我部署我们服务器的源 (JBOSS 5.1) 时,调用失败。我打印了肥皂请求:
POST /ws/TET_DOC
SOAPAction: "http://www.testDoc.be/testDoc/getDoc"
Content-Type: text/xml; charset=UTF-8
JBoss-Remoting-Version: 22
User-Agent: JBossRemoting - 2.5.1 (Flounder)
Host: post.netpost:55405
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Transfer-Encoding: chunked
问题来自属性:ACCEPT。它已被 JBOSS-REMOTING 修改。应该是:
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
所以我有两个问题:
- 为什么jboss更改了消息的“accept”属性?
-
如何设置objboss端的“accept”属性?我预先尝试了这个(在调用操作之前,但它不起作用):
final Map<String, List<String>> requestHeaders = new HashMap<String, List<String>>(); requestHeaders .put( "Accept", Arrays .asList("text/html, multipart/related, image/gif, image/jpeg, *; q=.2, */*; q=.2")); ((BindingProvider)port).getRequestContext().put( MessageContext.HTTP_REQUEST_HEADERS, requestHeaders);
提前感谢您的帮助
【问题讨论】:
标签: java soap jboss cxf soap-client