每当我尝试通过 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'。我已经阅读了很多次文档,试图验证我能做的一切,但仍然在努力。对我来说有一些未知数-
- KeyIdentifier 元素中究竟需要什么?我已经尝试过证书的 base64 编码字节和公钥,但是来自 oasis 的 x509v3 令牌的文档并不是非常具有描述性,或者我可能只是误读了它们。
- 有没有办法验证我的参考资料是否正确?我看到了它们,所以这意味着它们被正确地创建了,不是吗?
- 如果您碰巧看到安全标头有任何异常,请告诉我。此传输代码当前与通过 1105 和未通过 1122 的代码相同,减去格式化。
我正在使用 java dsig 库在下面的代码中创建我的 Signature 元素。