IRS-A2A «сообщение не было правильно отформатировано» (TPE1105 - uniqueTransmissionID) - PullRequest
0 голосов
/ 26 декабря 2018

Я работаю над интеграцией канала A2A для IRS через их WSDL с использованием WCF.Я могу передать любые ошибки, связанные с кодом, отправляя запрос, но в настоящее время получаю следующую ошибку от IRS:

<faultstring>The message was not formatted properly and/or cannot be interpreted. Please review the XML standards outlined in Section 3 of Publication 5258 (...), correct any issues, and try again.</faultstring>
<detail>
    <errorcode>TPE1105</errorcode>
    <uniqueTransmissionID/>
</detail>

Я предполагаю, что на основе дополнительного узла <uniqueTransmissionID/> в ответе это как-то связано с UTID.Я просматривал формат UTID и примеры Soap Envelope бесчисленное количество раз и не могу на всю жизнь понять, что может быть неуместным.Я попробовал небольшое предложение от отцаOfWine в предыдущем ответе о перемещении BusinessHeader выше Манифеста, но оно возвращает ту же ошибку.

Я добавил полный запрос с помощью Soap Envelope,Пробелы, как представляется, удаляются во время запроса, но я переформатировал его из Fiddler.

POST [AATS URL] HTTP/1.1
Content-Type: multipart/related; type="application/xop+xml";start="<rootpart>";start-info="text/xml";boundary="--023e657d-66f5-4e92-8e6e-c223338c205a"
SOAPAction: "BulkRequestTransmitter"
Host: la.www4.irs.gov
Content-Length: 15820
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive


----023e657d-66f5-4e92-8e6e-c223338c205a
Content-Type: application/xop+xml; type="text/xml"; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-Id:<rootpart>

<soapenv:Envelope xmlns:oas1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:urn="urn:us:gov:treasury:irs:ext:aca:air:ty18" 
    xmlns:urn1="urn:us:gov:treasury:irs:common" 
    xmlns:urn2="urn:us:gov:treasury:irs:msg:acabusinessheader" 
    xmlns:urn3="urn:us:gov:treasury:irs:msg:acasecurityheader" 
    xmlns:urn4="urn:us:gov:treasury:irs:msg:irsacabulkrequesttransmitter">
    <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
         <wsse:Security xmlns:wsse="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">
            <Signature Id="SIG-E508633998DD41B6AE062D27D0AC9A48" 
                xmlns="http://www.w3.org/2000/09/xmldsig#">
                <SignedInfo>
                    <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments" />
                    <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
                    <Reference URI="#TS-BAC31544F1954B5F8C8441167B91A388">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="wsse wsa oas1 soapenv urn urn1 urn2 urn3 urn4" 
                                    xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" />
                            </Transform>
                        </Transforms>
                        <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                        <DigestValue>[VALUE]</DigestValue>
                    </Reference>
                    <Reference URI="#id-870747663BAB4D6FB43FFAD2034013F1">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="wsa oas1 soapenv urn1 urn2 urn3 urn4" 
                                    xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" />
                            </Transform>
                        </Transforms>
                        <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                        <DigestValue>[VALUE]</DigestValue>
                    </Reference>
                    <Reference URI="#id-1A336736A6134B16831D45A0C8785D10">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="wsa oas1 soapenv urn urn1 urn3 urn4" 
                                    xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" />
                            </Transform>
                        </Transforms>
                        <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                        <DigestValue>[VALUE]</DigestValue>
                    </Reference>
                </SignedInfo>
                <SignatureValue>[VALUE]</SignatureValue>
                <KeyInfo Id="KI-42CB9363E8BE47F2B3E0CD8A743C2D7C">
                    <wsse:SecurityTokenReference wsu:Id="STR-9EE1B09DD6794A64B00B496CC9DC3804">
                        <wsse: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">[KEY]</wsse:KeyIdentifier>
                    </wsse:SecurityTokenReference>
                </KeyInfo>
            </Signature>
            <wsu:Timestamp wsu:Id="TS-BAC31544F1954B5F8C8441167B91A388">
                <wsu:Created>2018-12-27T17:42:39.593Z</wsu:Created>
                <wsu:Expires>2018-12-27T17:52:39.593Z</wsu:Expires>
            </wsu:Timestamp>
        </wsse:Security>
        <urn:ACATransmitterManifestReqDtl wsu:Id="id-DB1DDC6A020C433CB71FF38200026E55" 
            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <urn:PaymentYr>2018</urn:PaymentYr>
            <urn:PriorYearDataInd>0</urn:PriorYearDataInd>
            <urn1:EIN>[EIN]</urn1:EIN>
            <urn:TransmissionTypeCd>O</urn:TransmissionTypeCd>
            <urn:TestFileCd>T</urn:TestFileCd>
            <urn:TransmitterNameGrp>
                <urn:BusinessNameLine1Txt>[Name]</urn:BusinessNameLine1Txt>
            </urn:TransmitterNameGrp>
            <urn:CompanyInformationGrp>
                <urn:CompanyNm>[Name]</urn:CompanyNm>
                <urn:MailingAddressGrp>
                    <urn:USAddressGrp>
                        <urn:AddressLine1Txt>[Address]</urn:AddressLine1Txt>
                        <urn1:CityNm>[City]</urn1:CityNm>
                        <urn:USStateCd>[ST]</urn:USStateCd>
                        <urn1:USZIPCd>[ZIP]</urn1:USZIPCd>
                    </urn:USAddressGrp>
                </urn:MailingAddressGrp>
                <urn:ContactNameGrp>
                    <urn:PersonFirstNm>[FirstName]</urn:PersonFirstNm>
                    <urn:PersonLastNm>[LastName]</urn:PersonLastNm>
                </urn:ContactNameGrp>
                <urn:ContactPhoneNum>[PhoneNumber]</urn:ContactPhoneNum>
            </urn:CompanyInformationGrp>
            <urn:VendorInformationGrp>
                <urn:VendorCd>I</urn:VendorCd>
                <urn:ContactNameGrp>
                    <urn:PersonFirstNm>[FirstName]</urn:PersonFirstNm>
                    <urn:PersonLastNm>[LastName]</urn:PersonLastNm>
                </urn:ContactNameGrp>
                <urn:ContactPhoneNum>[PhoneNumber]</urn:ContactPhoneNum>
            </urn:VendorInformationGrp>
            <urn:TotalPayeeRecordCnt>3</urn:TotalPayeeRecordCnt>
            <urn:TotalPayerRecordCnt>1</urn:TotalPayerRecordCnt>
            <urn:SoftwareId>[SoftwareID]</urn:SoftwareId>
            <urn:FormTypeCd>1094/1095C</urn:FormTypeCd>
            <urn1:BinaryFormatCd>application/xml</urn1:BinaryFormatCd>
            <urn1:ChecksumAugmentationNum>[CheckSum]</urn1:ChecksumAugmentationNum>
            <urn1:AttachmentByteSizeNum>[Bytes]</urn1:AttachmentByteSizeNum>
            <urn:DocumentSystemFileNm>1094C_Request_[TCC]_20181226T161942345Z.xml</urn:DocumentSystemFileNm>
        </urn:ACATransmitterManifestReqDtl>
        <urn2:ACABusinessHeader wsu:Id="id-E71242CFDF04487D9ECA0AC2E1544E90" 
            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <urn:UniqueTransmissionId>6de74234-d0fd-45b2-ad45-b408fd137201:SYS12:[TCC]::T</urn:UniqueTransmissionId>
            <urn1:Timestamp>2018-12-26T16:19:42Z</urn1:Timestamp>
        </urn2:ACABusinessHeader>
        <urn3:ACASecurityHeader>
            <urn2:UserId>1#######</urn2:UserId>
        </urn3:ACASecurityHeader>
        <wsa:Action>BulkRequestTransmitter</wsa:Action>
    </soapenv:Header>
    <soapenv:Body>
        <urn4:ACABulkRequestTransmitter version="1.0">
            <urn1:BulkExchangeFile>
                <inc:Include href="cid:1094C_Request_[TCC]_20181226T161942345Z.xml" 
                    xmlns:inc="http://www.w3.org/2004/08/xop/include" />
            </urn1:BulkExchangeFile>
        </urn4:ACABulkRequestTransmitter>
    </soapenv:Body>
</soapenv:Envelope>
----023e657d-66f5-4e92-8e6e-c223338c205a
Content-Type: application/xml
Content-Transfer-Encoding: 7bit
Content-Id: <1094C_Request_[TCC]_20181226T161942345Z.xml>
Content-Disposition: attachment; filename="1094C_Request_[TCC]_20181226T161942345Z.xml"

<?xml version="1.0" encoding="utf-8"?>
    <n1:Form109495CTransmittalUpstream xmlns="urn:us:gov:treasury:irs:ext:aca:air:ty18" 
        xmlns:irs="urn:us:gov:treasury:irs:common" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:p3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xsi:schemaLocation="urn:us:gov:treasury:irs:msg:form1094-1095Ctransmitterupstreammessage IRS-Form1094-1095CTransmitterUpstreamMessage.xsd" 
        xmlns:n1="urn:us:gov:treasury:irs:msg:form1094-1095Ctransmitterupstreammessage">
        [Removed for Space]
    </n1:Form109495CTransmittalUpstream>
----023e657d-66f5-4e92-8e6e-c223338c205a--

Обновление : я добавил заголовок безопасности и получил разрешение этой конкретной проблемы,сейчас работаю над устранением ошибки WS-Security.Я также обновил свой конверт тем, что изменилось.

Ответы [ 3 ]

0 голосов
/ 27 декабря 2018

Я хотел бы добавить к этому одну из вещей, которую я узнал, разработав этот процесс пару лет назад: запрос, который вы отправляете, будь то статус или отправка, должен быть идентичен их примеру.

Метод, который я использовал для этого, заключался в создании отдельных документов-шаблонов XML (один для отправки, один для статуса), который содержит весь XML-файл, необходимый для каждого запроса.

На высоком уровне мое приложениеиспользует объекты WSDL, заполняя их соответствующими данными, затем я заменяю элементы XML в шаблоне значениями из объектов, подписываю документ XML, прикрепляю данные формы (для отправки) и отправляю запрос.

Просматривая то, что вы опубликовали, и сравнив его с тем, что я ранее передал, я обнаружил пару отличий:

  • В вашем определении конверта есть атрибут xmlns:oasl, у меня его нет.
  • В вашем InclusiveNamespaces элементе у меня есть PrefixList="wsse wsa soapenv urn urn1 urn2 urn3".Мне сказали, что это буквальное значение просто необходимо.
  • Ваш DigestMethod - это sha256, а мой - sha1.Я понимаю, что между ними есть разница, но это может вызывать у вас некоторые проблемы?
  • У меня есть элемент urn3:ACASecurityHeader, содержащий элемент urn1:UserId, который, я думаю, вы уже решили (его просто нетобновлено в исходном сообщении)
0 голосов
/ 07 января 2019

Вот конверт, который я сейчас пытаюсь отправить, в результате чего возвращается ошибка TPE1122 WS Security Header.

Следующий XML-конверт является рабочим конвертом для передачина TY2018.Информация была отредактирована.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:urn="urn:us:gov:treasury:irs:ext:aca:air:ty18" 
                  xmlns:urn1="urn:us:gov:treasury:irs:common" 
                  xmlns:urn2="urn:us:gov:treasury:irs:msg:acabusinessheader" 
                  xmlns:urn3="urn:us:gov:treasury:irs:msg:acasecurityheader" 
                  xmlns:urn4="urn:us:gov:treasury:irs:msg:irsacabulkrequesttransmitter">
    <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
        <wsse:Security xmlns:wsse="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">
            <Signature Id="SIG-E9efb6eb0a76b4277a5cf8dc3930a868d" xmlns="http://www.w3.org/2000/09/xmldsig#">
                <SignedInfo>
                    <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments" />
                    <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
                    <Reference URI="#TS-E057d0d55370e45a8bc8a42f995a89aa3">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="wsse wsa soapenv urn urn1 urn2 urn3" 
                                                     xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" />
                            </Transform>
                        </Transforms>
                        <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                        <DigestValue>[TIMESTAMP DIGEST VALUE]</DigestValue>
                    </Reference>
                    <Reference URI="#id-Ed6c3f891454e4eeaa73aeacaf21b6857">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="wsa soapenv urn1 urn2 urn3" 
                                                     xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" />
                            </Transform>
                        </Transforms>
                        <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                        <DigestValue>[ACA BUSINESS HEADER DIGEST VALUE]</DigestValue>
                    </Reference>
                    <Reference URI="#id-Eda32be00e9954326a8dbbd30a86a975e">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="wsa soapenv urn urn1 urn3" 
                                                     xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" />
                            </Transform>
                        </Transforms>
                        <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                        <DigestValue>[ACA TRANSMITTER MANIFEST DIGEST VALUE]</DigestValue>
                    </Reference>
                </SignedInfo>
                <SignatureValue>[SIGNATURE VALUE]</SignatureValue>
                <KeyInfo Id="KI-E70e6fef54fa44300bf8f732831579e03">
                    <wsse:SecurityTokenReference wsu:Id="STR-Ee23913563c7843c7917a3c63f9830d6f">
                        <wsse: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">[CERTIFICATE KEY IDENTIFIER]</wsse:KeyIdentifier>
                    </wsse:SecurityTokenReference>
                </KeyInfo>
            </Signature>
            <wsu:Timestamp wsu:Id="TS-E057d0d55370e45a8bc8a42f995a89aa3">
                <wsu:Created>2019-01-07T16:32:54.353Z</wsu:Created>
                <wsu:Expires>2019-01-07T16:42:54.353Z</wsu:Expires>
            </wsu:Timestamp>
        </wsse:Security>
        <urn:ACATransmitterManifestReqDtl wsu:Id="id-Eda32be00e9954326a8dbbd30a86a975e" 
                                          xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            [MANIFEST DATA]
        </urn:ACATransmitterManifestReqDtl>
        <urn2:ACABusinessHeader wsu:Id="id-Ed6c3f891454e4eeaa73aeacaf21b6857" 
                                xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <urn:UniqueTransmissionId>e8d5fbcf-564d-4e31-8b48-ecc2fffe8fc0:SYS12:[TCC]::T</urn:UniqueTransmissionId>
            <urn1:Timestamp>2019-01-07T08:32:54Z</urn1:Timestamp>
        </urn2:ACABusinessHeader>
        <urn3:ACASecurityHeader>
            <urn1:UserId>[USER ID]</urn1:UserId>
        </urn3:ACASecurityHeader>
        <wsa:Action>BulkRequestTransmitterService</wsa:Action>
    </soapenv:Header>
    <soapenv:Body>
        <urn4:ACABulkRequestTransmitter version="1.0">
            <urn1:BulkExchangeFile>
                <xop:Include href="cid:1094C_Request_[TCC]_20190107T163254215Z.xml" xmlns:xop="http://www.w3.org/2004/08/xop/include" />
            </urn1:BulkExchangeFile>
        </urn4:ACABulkRequestTransmitter>
    </soapenv:Body>
</soapenv:Envelope>
0 голосов
/ 26 декабря 2018

Просто выбрасываю это по ветру (больше комментариев, но слишком долго), но похоже, что вы упускаете эти элементы из их примера:

<urn4:ACASecurityHeader xmlns:urn4="urn:us:gov:treasury:irs:msg:acasecurityheader" />
<oas:Security xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401- wss-wssecurity-secext-1.0.xsd" /> 

Вы используете этот префикс для urn3, который не упоминается ни в каких элементах из того, что я могу сказать.Не уверен, имеет ли это какое-то значение или нет, но вышеприведенные элементы предшествуют разделу, в котором вы видите ошибку.Не стесняйтесь игнорировать, если это звучит для вас бессмысленно.

...