c# - IRS ACA 提交 - 错误 TPE1122,消息中的 WS 安全 header 无效

标签 c# web-services soap ws-security irs

我们正在尝试使用 A2A channel 向 IRS 政府网站提交 ACA 表格。我们能够使用 X509 和 SHA1 形成 XML 和所需的加密。

在向 IRS 站点发送 XML 时,我们收到错误消息,因为 消息中的 WS 安全 header 无效。请查看位于 https://www.irs.gov/for-Tax-Pros/Software-Developers/Information-Returns/Affordable-Care-Act-Information 的 AIR 提交组合和引用指南第 5 节中概述的传输说明-Return-AIR-Program,更正所有问题,然后重试。 错误代码为 - TPE1122

这是我们尝试从 SoapUI 发布的示例 XML 部分

. . . 1094/1095C 应用程序/xml 843C9A557FC3ABF06EF26C5A4A69E19C 2426 Form1094C_Request_TCC_20160225T2003478641Z.xml

</urn:ACATransmitterManifestReqDtl>
<urn2:ACABusinessHeader oas:Id="ABH_110">
  <urn:UniqueTransmissionId>01242fde-536a-4879-b4db-932af7be668e:SYS12:TCC::T</urn:UniqueTransmissionId>
  <urn1:Timestamp>2016-02-25T17:31:16Z</urn1:Timestamp>
</urn2:ACABusinessHeader>
<oas1:Security>
  <xd:Signature>
    <xd:SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
      <xd:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
      <xd:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <xd:Reference URI="#tag1">
        <xd:Transforms>
          <xd:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
        </xd:Transforms>
        <xd:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <xd:DigestValue>j2bX9e90ETVru5w3Q4k0/yOvss4=</DigestValue>
      </xd:Reference>
    </xd:SignedInfo>
    <xd:SignatureValue xmlns="http://www.w3.org/2000/09/xmldsig#">signature_Value</xd:SignatureValue>
    <xd:KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
      <xd:X509Data>
        <xd:X509SubjectName>subjectName</xd:X509SubjectName>
        <xd:X509Certificate>certificate details</xd:X509Certificate>
      </xd:X509Data>
    </xd:KeyInfo>
  </xd:Signature>
   <oas:Timestamp oas:Id="TS_110">
    <!--Optional:-->
    <oas:Created oas:Id="?">2016-02-25T19:40:33.900Z</oas:Created>
    <!--Optional:-->
    <oas:Expires oas:Id="?">2016-02-30T19:50:33.900Z</oas:Expires>
    <!--You have a CHOICE of the next 1 items at this level-->
    <!--You may enter ANY elements at this point-->
  </oas:Timestamp>
</oas1:Security>
<urn3:ACASecurityHeader>
</urn3:ACASecurityHeader></soapenv:Header><soapenv:Body> body elements</soapenv:Body>

能否请您指导我们这可能有什么问题?

最佳答案

所以我立即想到的一件事是您的签名中只有一个引用。根据 AIR Submission Composition and Reference Guide,总共应该有 3 个引用文献。一个引用您的 list ,一个用于业务 header ,一个用于时间戳。

此外,您的引用标记 URI 引用的是 #tag1,从您发布的内容来看,它实际上并未引用 XML 中的任何元素(除非这是我看不到的 list 的 ID)。在您的案例中,引用 URI 应该是#TS_110、#ABH_110 和#whateverYourManifestIDis。希望这对您有所帮助!

关于c# - IRS ACA 提交 - 错误 TPE1122,消息中的 WS 安全 header 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35647185/

相关文章:

c# - 是否有理由在 C# 中始终声明类型后缀为 'f' 的 float ?

android - Android 中的同步服务调用

java - 如何减少 Apache CXF 客户端 stub 对象的内存大小?

c++ - 无法使用 loadxml 加载 '@' 符号

java - 通过 axis2 网络服务上传 350MB 的附件时出现内存不足问题

c# - 如何在 RichTextBox 中获取点击的单词编号( Index )

c# - C# 项目的编译器命令行

web-services - 模拟 Web 服务响应 |将其中的几个捆绑在一个网络应用程序中

c# - 命名空间 "X"中不存在名称 "using:Y"

java - 使用 netbeans 执行 Web 服务