1

每当我尝试通过 A2A 提交给 IRS 时,我都会收到 TPE 1105。我已经查看了肥皂示例以及多次深入研究 wsd 并且无法弄清楚可能导致此问题的原因。

如果您有任何见解,我将永远感激最终将 1105 投入使用。

    POST [AATS_URL] HTTP/1.1
    Content-Encoding: gzip
    Accept-Encoding: gzip,deflate
    Content-Type: multipart/related; type="application/xop+xml"; start="<root_part>"; boundary="--=_part_85c4167d-966b-4dfd-b6f9-c7a5aa410517"; start-info="text/xml"
    SOAPAction: "BulkRequestTransmitter"
    MIME-Version: 1.0
    Accept: text/xml,multipart/related
    Expect: 100-continue
    Cache-Control: no-cache
    Pragma: no-cache
    User-Agent: Java/1.8.0_111
    Host: la.www4.irs.gov
    Connection: keep-alive
    Content-Length: 16299

    ----=_part_85c4167d-966b-4dfd-b6f9-c7a5aa410517
    Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
    Content-Transfer-Encoding: 8bit
    Content-Id: <root_part>

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <soapenv:Envelope xmlns:air="urn:us:gov:treasury:irs:ext:aca:air:ty18" xmlns:com="urn:us:gov:treasury:irs:common" xmlns:hdr="urn:us:gov:treasury:irs:msg:acabusinessheader" xmlns:oas1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:req="urn:us:gov:treasury:irs:msg:irsacabulkrequesttransmitter" xmlns:sec="urn:us:gov:treasury:irs:msg:acasecurityheader" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
            <wse:Security xmlns:wse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" Id="SH-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
                <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
                    <ds:SignedInfo>
                        <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/>
                        <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
                        <ds:Reference URI="#TS-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
                            <ds:Transforms>
                                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments">
                                    <ds:InclusiveNamespaces xmlns:ds="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="wse wsa osa1 soapenv air com hdr sec req"/>
                                </ds:Transform>
                            </ds:Transforms>
                        <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
                        <ds:DigestValue>FqYS/pHdN05mKKccxqM4jmEwJNRR+ikRPB7HuyvbGQY=</ds:DigestValue>
                        </ds:Reference>
                        <ds:Reference URI="#MH-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
                            <ds:Transforms>
                                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                    <ds:InclusiveNamespaces xmlns:ds="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="wse wsa osa1 soapenv com hdr sec req"/>
                                </ds:Transform>
                            </ds:Transforms>
                        <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
                        <ds:DigestValue>qlWuAbD2PwDmvK7/KzU56ZWsKhBH2PYW/v2eW/30/4E=</ds:DigestValue>
                        </ds:Reference>
                        <ds:Reference URI="#BH-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
                            <ds:Transforms>
                                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                    <ds:InclusiveNamespaces xmlns:ds="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="wse wsa osa1 soapenv air com sec req"/>
                                </ds:Transform>
                            </ds:Transforms>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
                            <ds:DigestValue>E2cw4uavSk8RGQeewG04q3tcBRwM6dnMQmSctdJl4k8=</ds:DigestValue>
                        </ds:Reference>
                    </ds:SignedInfo>
                    <ds:SignatureValue>[SIGNATURE_VALUE]</ds:SignatureValue>
                    <ds:KeyInfo Id="KI-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
                        <wse:SecurityTokenReference wsu:Id="STR-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
                            <wse:KeyIdentifier EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">[CERT_VALUE]</wse:KeyIdentifier>
                        </wse:SecurityTokenReference>
                    </ds:KeyInfo>
                </ds:Signature>
                <wsu:Timestamp wsu:Id="TS-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
                    <wsu:Created>2019-02-15T15:41:01Z</wsu:Created>
                    <wsu:Expires>2019-02-15T15:51:01Z</wsu:Expires>
                </wsu:Timestamp>
            </wse:Security>
            <air:ACATransmitterManifestReqDtl xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="MH-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
                <air:PaymentYr>2018</air:PaymentYr>
                <air:PriorYearDataInd>0</air:PriorYearDataInd>
                <com:EIN>[REDACTED]</com:EIN>
                <air:TransmissionTypeCd>O</air:TransmissionTypeCd>
                <air:TestFileCd>T</air:TestFileCd>
                <air:TransmitterForeignEntityInd>0</air:TransmitterForeignEntityInd>
                <air:TransmitterNameGrp>
                    <air:BusinessNameLine1Txt>[REDACTED]</air:BusinessNameLine1Txt>
                </air:TransmitterNameGrp>
                <air:CompanyInformationGrp>
                    <air:CompanyNm>[REDACTED]</air:CompanyNm>
                    <air:MailingAddressGrp>
                        <air:USAddressGrp>
                            <air:AddressLine1Txt>[REDACTED]</air:AddressLine1Txt>
                            <com:CityNm>[REDACTED]</com:CityNm>
                            <air:USStateCd>[REDACTED]</air:USStateCd>
                            <com:USZIPCd>[REDACTED]</com:USZIPCd>
                        </air:USAddressGrp>
                    </air:MailingAddressGrp>
                    <air:ContactNameGrp>
                        <air:PersonFirstNm>[REDACTED]</air:PersonFirstNm>
                        <air:PersonMiddleNm>[REDACTED]</air:PersonMiddleNm>
                        <air:PersonLastNm>[REDACTED]</air:PersonLastNm>
                    </air:ContactNameGrp>
                    <air:ContactPhoneNum>[REDACTED]</air:ContactPhoneNum>
                </air:CompanyInformationGrp>
                <air:VendorInformationGrp>
                    <air:VendorCd>I</air:VendorCd>
                    <air:ContactNameGrp>
                        <air:PersonFirstNm>[REDACTED]</air:PersonFirstNm>
                        <air:PersonMiddleNm>[REDACTED]</air:PersonMiddleNm>
                        <air:PersonLastNm>[REDACTED]</air:PersonLastNm>
                    </air:ContactNameGrp>
                    <air:ContactPhoneNum>[REDACTED]</air:ContactPhoneNum>
                </air:VendorInformationGrp>
                <air:TotalPayeeRecordCnt>2</air:TotalPayeeRecordCnt>
                <air:TotalPayerRecordCnt>1</air:TotalPayerRecordCnt>
                <air:SoftwareId>[REDACTED]</air:SoftwareId>
                <air:FormTypeCd>1094/1095B</air:FormTypeCd>
                <com:BinaryFormatCd>application/xml</com:BinaryFormatCd>
                <com:ChecksumAugmentationNum>25fbebd1143d8aa935a445db998eb374761113af8b17d67b3a95af9ad73e17bc</com:ChecksumAugmentationNum>
                <com:AttachmentByteSizeNum>7245</com:AttachmentByteSizeNum>
                <air:DocumentSystemFileNm>1094B_Request_[TCC]_20190215T154101026Z.xml</air:DocumentSystemFileNm>
            </air:ACATransmitterManifestReqDtl>
            <hdr:ACABusinessHeader xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="BH-3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7">
            <air:UniqueTransmissionId>3f88e9e4-c4ea-4473-ad04-0b567e2a4bf7:SYS12:[TCC]::T</air:UniqueTransmissionId>
            <com:Timestamp>2019-02-15T15:41:01Z</com:Timestamp>
            </hdr:ACABusinessHeader>
            <sec:ACASecurityHeader>
            <hdr:UserId>[REDACTED]</hdr:UserId>
            </sec:ACASecurityHeader>
            <wsa:Action>BulkRequestTransmitterService</wsa:Action>
        </soapenv:Header>
        <soapenv:Body>
            <req:ACABulkRequestTransmitter version="1.0">
                <com:BulkExchangeFile>
                    <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:1094B_Request_[TCC]_20190215T154101026Z.xml"/>
                </com:BulkExchangeFile>
            </req:ACABulkRequestTransmitter>
        </soapenv:Body>
    </soapenv:Envelope>

    ----=_part_85c4167d-966b-4dfd-b6f9-c7a5aa410517
    Content-Type: application/xml
    Content-Transfer-Encoding: 7bit
    Content-Id: <1094B_Request_[TCC]_20190215T154101026Z.xml>
    Content-Disposition: attachment; filename="1094B_Request_[TCC]_20190215T154101026Z.xml"

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <msg:Form109495BTransmittalUpstream xmlns:air="urn:us:gov:treasury:irs:ext:aca:air:ty18" xmlns:com="urn:us:gov:treasury:irs:common" xmlns:msg="urn:us:gov:treasury:irs:msg:form1094-1095Btransmitterupstreammessage" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:us:gov:treasury:irs:msg:form1094-1095Btransmitterupstreammessage ../MSG/IRS-Form1094-1095BTransmitterUpstreamMessage.xsd">
    [REMOVED TO SAVE SPACE]
    </msg:Form109495BTransmittalUpstream>

    ----=_part_85c4167d-966b-4dfd-b6f9-c7a5aa410517-- 

我们使用 Java 中的核心 org.w3c.dom 文档库以及用于签名和验证的 java xml dsig 库手动生成这些肥皂信封。

编辑——我已经成功通过了 1105,现在我遇到了 1122 'WS Security Header Error'。我已经阅读了很多次文档,试图验证我能做的一切,但仍然在努力。对我来说有一些未知数-

  1. KeyIdentifier 元素中究竟需要什么?我已经尝试过证书的 base64 编码字节和公钥,但是来自 oasis 的 x509v3 令牌的文档并不是非常具有描述性,或者我可能只是误读了它们。
  2. 有没有办法验证我的参考资料是否正确?我看到了它们,所以这意味着它们被正确地创建了,不是吗?
  3. 如果您碰巧看到安全标头有任何异常,请告诉我。此传输代码当前与通过 1105 和未通过 1122 的代码相同,减去格式化。

我正在使用 java dsig 库在下面的代码中创建我的 Signature 元素。

4

2 回答 2

2

让我印象深刻的第一件事是 UserId 的命名空间与我目前使用的不同。看起来您正在使用命名空间,acabusinessheader因为它应该是common命名空间,将其更改为我在下面更改的内容至少会使用正确的命名空间使用该标签。

<sec:ACASecurityHeader>
   <com:UserId>[REDACTED]</com:UserId>
</sec:ACASecurityHeader>
于 2019-02-18T16:36:20.097 回答
1

好的,所以这有点缺乏对我的技术的理解以及 IRS 文档的模糊性。接收 TPE 1105 传输失败的问题是因为在将数据写入连接时,我使用 Java 中的转换器“缩进”了我的 xml。这导致soap 消息无法识别为MIME 类型的消息。希望这可以帮助某人。

编辑——所以我遇到 1122 的第二个问题是由于 org.w3.dom 文档是 1 级文档而不是 Java 中的 2 级文档。这与 java dsig 库一起没有正确签署(我相信)xml。一旦我升级代码以使用 2 级文档,一切正常。希望有人会发现这很有用,因为它可以为我节省大量时间。

于 2019-03-13T15:41:14.110 回答