2016-02-26 58 views
2

我们正在尝试使用他们的A2A频道向ACS政府网站提交ACA表格。我们能够使用X509和SHA1来形成XML和所需的加密。IRS ACA提交 - 错误TPE1122,WS安全标题在邮件中无效

当发送XML国税局网站,我们正在误差The WS Security Header in the message is invalid. Please review the transmission instructions outlined in Section 5 of the AIR Submission Composition and Reference Guide located at https://www.irs.gov/for-Tax-Pros/Software-Developers/Information-Returns/Affordable-Care-Act-Information-Return-AIR-Program, correct any issues, and try again.和错误代码是 - TPE1122

这里是我们正在尝试投递表单了SoapUI

样本XML部分。 。 。 1094/1095C 应用程序/ XML 843C9A557FC3ABF06EF26C5A4A69E19C 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> 

能否请你指导我们可能是错误的呢?

+0

你能解决这个问题吗?我也陷入了同样的错误。 – Ravi

回答

1

因此,立即向我跳出来的一件事是您的签名中只有一个参考。根据AIR提交作文和参考指南,应该总共有3个参考文献。一个引用你的清单,一个用于商业标题,另一个用于时间戳。

此外,您的引用标记URI引用#tag1,从您发布的内容中实际上不引用您的XML中的任何元素(除非您的清单的ID无法看到)。您的案例中的参考URI应该是#TS_110,#ABH_110和#whateverYourManifestIDis。希望这可以帮助!

+0

嗨用户,感谢您解决这个问题。我没有发布整个信封,但你的观点是正确的,国税局提到3参考URI应该在那里的标志,但它不是强制性的。当我们从SOAPUI获取样本请求文件时,我们理解了这一点。我们签署的标签是#tag1,这在上面的soap中没有提及,但它存在于信封中。 – Oxygen

+2

那这3部分需要签名。实际上,您必须具有清单,时间戳和业务头的引用。 – gottfred

+0

好的。做到这一点,但得到同样的错误,这个错误是不恒定的;之后是错误代码 - TPE1126,它显示“此时无法验证连接,请稍后再试。” – Oxygen

2

首先不是所有的元素都被签名。要签字的要素是: 1.时间戳 2.清单 3.业务标题

签名应该按照上述顺序。

安全架构的命名空间应该是wsse,时间戳的命名空间应该是wsu。 (不合逻辑的权利?但这就是它的工作原理)与irs指南完全一样。其他元素的名称空间别名无关紧要。

您可以尝试soap ui并查看生成的示例请求。

相关问题