为了账号安全,请及时绑定邮箱和手机立即绑定

IRS ACA 1095C SOAP 故障:断言处理中出错

IRS ACA 1095C SOAP 故障:断言处理中出错

繁花不似锦 2024-01-05 16:52:06
我在向 IRS ACA 网站提交 1094/1095C 时随机遇到错误。它一直是一个有效的代码,有一段时间我没有对代码进行任何更改,突然我开始在很少的提交中看到这个错误。代码是java的。我们仍然能够成功完成完整提交,但某些提交会返回 SOAP 错误。........ org.apache.cxf.endpoint.Client yclient = (org.apache.cxf.endpoint.Client) factory.create();            GZIPInInterceptor ininterceptor = new GZIPInInterceptor();            yclient.getInInterceptors().add(ininterceptor);            Endpoint eEndpoint = yclient.getEndpoint();            EndpointInfo einfo = eEndpoint.getEndpointInfo();            BindingInfo b = einfo.getBinding();            ProviderFactory pf = ServerProviderFactory.getInstance();            eEndpoint.put(ProviderFactory.class.getName(), pf);            yclient.getRequestContext().put("soap.env.ns.map", nsMap);            yclient.getRequestContext().put("org.apache.cxf.client", Boolean.FALSE);            Collection<BindingOperationInfo> c = b.getOperations();            Iterator<BindingOperationInfo> it = c.iterator();            while (it.hasNext()) {                BindingOperationInfo bi = it.next();                QName name = bi.getOperationInfo().getName();                System.out.println(name.toString());                GZIPOutInterceptor interceptor = new GZIPOutInterceptor();                interceptor.setForce(true);                yclient.getOutInterceptors().add(interceptor);                Map<String, Object> ycontext = yclient.getRequestContext();                ycontext.put(MessageContext.HTTP_REQUEST_HEADERS, head);                Map<Integer, Class<?>> wssConfigActions = new HashMap<Integer, Class<?>>();                Map<String, Object> serverOutParams = createServerOutParams(wssConfigActions, true);......
查看完整描述

4 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

通过修改我们的配置,我们能够在 Apache CXF v3.1.4 上使用它;我们添加了AllowChunking =“false”和secureSocketProtocol =“TLSv1.2”。在此更改之前,自 2019 年 10 月开始,对于任何大于 60 KB 左右的传输,我们还收到了“断言处理错误”的响应。以下是我们对 Apache CXF XML 配置所做的更改:


  <http-conf:conduit name="*.http-conduit">

                      AllowChunking="false"

    />

    <http-conf:tlsClientParameters

            secureSocketProtocol="TLSv1.2"

    />

</http-conf:conduit>


查看完整回答
反对 回复 2024-01-05
?
心有法竹

TA贡献1866条经验 获得超5个赞

我已经为此工作了一段时间,并消除了邮箱建议的前两件事(TLS 1.2、FIPS 和我这边的网络问题)。我怀疑他们将中间层更改/更新为 Broadcom(以前称为 Layer7 和 CA)。我将通过关闭 http 分块编码来进行测试,因为默认情况下我是打开它的。如果您不确定如何关闭它,您可以使用 http 1.0,因为它仅在 http 1.1 中受支持。我更新为关闭 http 协议上的分块编码(WebSphere 中的策略),并且我能够从发送 35 到 3000 甚至更高。



查看完整回答
反对 回复 2024-01-05
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

我也遇到过同样的问题,但我们确实找到了一种手动解决这些问题的方法。我想分享一下,以防它可以帮助你弄清楚发生了什么,尽管我认为国税局需要做出改变。

有3个问题需要处理。

  1. 在标头中,有“创建”和“过期”的时间戳,我们必须在其中添加毫秒。

  2. 上面提到的一些我们必须从传输中删除 Transfer-Encoding: chunked (我们在 Fiddler 中手动完成)。

  3. 我必须自己对整个消息进行 gzip 压缩。该程序对消息进行了 gzip,但是当我查看代码中的压缩消息和发送的最终消息时,在开头添加了 8 个字符,并且最后的部分内容发生了更改。如果我将主体单独进行 gzip 压缩,然后将其放回 fiddler(删除分块),那么我会得到成功的响应。


查看完整回答
反对 回复 2024-01-05
?
噜噜哒

TA贡献1784条经验 获得超7个赞

我确实遇到了同样的问题。我在您的代码或 SOAP 信封中没有看到任何问题,因此我唯一的建议是写信给 IRS AIR 邮箱,他们会进行调查。这就是他们目前对我的案件所做的事情。



查看完整回答
反对 回复 2024-01-05
  • 4 回答
  • 0 关注
  • 70 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信