我收到无效的GZIP压缩请求错误。我用过apache cxf和wss4j。
我已经在datahandler中明确设置了传输编码和内容类型。我可以看到在传出消息中正确设置了content-Type,但是content-transfer-encoding仍然显示二进制,而我希望它是7bit。我认为这是导致此错误的原因。这是代码的摘录。
try {
ACABulkRequestTransmitterType bulkRequest = new ACABulkRequestTransmitterType();
URL bulkFileUrl = this.getClass().getClassLoader().getResource("1094B_Request_BB01V_20151202T010102000Z.xml");
ConfigurableDataHandler dataHandler = new ConfigurableDataHandler(bulkFileUrl);
dataHandler.setTransferEncoding("7bit");
dataHandler.setContentType("application/xml");
bulkRequest.setBulkExchangeFile(dataHandler);
client.invoke("BulkRequestTransmitter", bulkRequest);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
以下是肥皂附件:
- UUID:3bdbf1ac-8a39-4a66-b4c5-0312046d9b8d Content-Type:application / xml 内容传输编码:二进制 Content-ID:< 5e3d2000-1895-425f-994a-8137ebf17ea3-1 @ urn:us:gov:treasury:irs:common> Content-Disposition:attachment; name =" 1094B_Request_BB01V_20151202T010102000Z.xml"
答案 0 :(得分:0)
有效。我不得不这样做。
((BindingProvider) port).getRequestContext().put("org.apache.cxf.transport.common.gzip.GZIPOutInterceptor.useGzip",
"YES");