0

Now that I was finally able to pass the 1105 and 1122 respectively for the bulk transmission service, I am back up against the 1105 for the status request. I've re-used code for signing and generating my http request, so not much there should have issue. Below is my packet sent with formatting and values redacted.

            POST /core/ws/lite/a2a/test/here/there HTTP/1.1
            Content-Encoding: gzip
            Accept-Encoding: gzip,deflate
            Content-Type: multipart/related; type="application/xop+xml"; start="<root_part>"; boundary="--=_part_60cb735e-c276-4405-834a-50d9b589636e"; start-info="text/xml"
            SOAPAction: "RequestSubmissionStatusDetail"
            MIME-Version: 1.0
            Host: la.www4.irs.gov
            Connection: Keep-Alive
            Expect: 100-Continue
            Content-Length: 3177


            ----=_part_60cb735e-c276-4405-834a-50d9b589636e
            Content-Type: application/xop+xml; charset=utf-8; type="text/xml"
            Content-Transfer-Encoding: binary
            Content-Id: <root_part>

            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
            <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:us:gov:treasury:irs:msg:irstransmitterstatusrequest" xmlns:urn1="urn:us:gov:treasury:irs:ext:aca:air:ty18" xmlns:urn2="urn:us:gov:treasury:irs:common" xmlns:urn3="urn:us:gov:treasury:irs:msg:acasecurityheader">
                <env: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">
                        <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-f2b7b3e293a642c58f7e48656be85b30">
                            <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-b4302e87b74441b6bf13eeae3c13f124">
                                    <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="wsse wsa env urn urn1 urn2 urn3"/>
                                        </ds:Transform>
                                    </ds:Transforms>
                                    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
                                    <ds:DigestValue>[DIGEST VALUE]</ds:DigestValue>
                                </ds:Reference>
                                <ds:Reference URI="#id-c6d0bbd68f5e40a493ed5462878a4fde">
                                    <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="wsa env urn1 urn2"/>
                                        </ds:Transform>
                                    </ds:Transforms>
                                    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
                                    <ds:DigestValue>[DIGEST VALUE]</ds:DigestValue>
                                </ds:Reference>
                                <ds:Reference URI="#id-f57af9d1ed1640af89227d5878799924">
                                    <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="env urn urn1 urn2 urn3"/>
                                        </ds:Transform>
                                    </ds:Transforms>
                                    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
                                    <ds:DigestValue>[DIGEST VALUE]</ds:DigestValue>
                                </ds:Reference>
                            </ds:SignedInfo>
                            <ds:SignatureValue>[SIGNATURE VALUE]</ds:SignatureValue>
                            <ds:KeyInfo Id="KI-f2b7b3e293a642c58f7e48656be85b30">
                                <wsse:SecurityTokenReference wsu:Id="STR-f2b7b3e293a642c58f7e48656be85b30">
                                    <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">[CERT VALUE]</wsse:KeyIdentifier>
                                </wsse:SecurityTokenReference>
                            </ds:KeyInfo>
                        </ds:Signature>
                        <wsu:Timestamp wsu:Id="TS-b4302e87b74441b6bf13eeae3c13f124">
                            <wsu:Created>2019-03-20T21:28:01.017Z</wsu:Created>
                            <wsu:Expires>2019-03-20T21:38:01.017Z</wsu:Expires>
                        </wsu:Timestamp>
                    </wsse:Security>
                    <urn:ACABusinessHeader xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="id-c6d0bbd68f5e40a493ed5462878a4fde">
                        <urn1:UniqueTransmissionId>[UTID]</urn1:UniqueTransmissionId>
                        <urn2:Timestamp>2019-03-20T20:59:49Z</urn2:Timestamp>
                    </urn:ACABusinessHeader>
                    <urn3:ACASecurityHeader>
                        <urn2:UserId>[ASID]</urn2:UserId>
                    </urn3:ACASecurityHeader>
                    <wsa:Action>RequestSubmissionStatusDetail</wsa:Action>
                </env:Header>
                <env:Body>
                    <urn:ACABulkRequestTransmitterStatusDetailRequest xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" version="1.0" wsu:Id="id-f57af9d1ed1640af89227d5878799924">
                        <urn1:ACABulkReqTrnsmtStsReqGrpDtl>
                            <urn2:ReceiptId>[RECEIPT]</urn2:ReceiptId>
                        </urn1:ACABulkReqTrnsmtStsReqGrpDtl>
                    </urn:ACABulkRequestTransmitterStatusDetailRequest>
                </env:Body>
            </env:Envelope>
            ----=_part_60cb735e-c276-4405-834a-50d9b589636e--

I'm not certain where to begin to troubleshoot this one as the documentation is more scant on the status request than it was on the actual transmission itself. I know my signature and elements are valid, although I am uncertain about the inclusive namespaces. If you have used the publication 5258 you will know the 2 given examples for the transmission service showed 2 different variations, one being from the previous year. The status request only has a single example, and it is from last year. I am certain my other necessary values are correct, the UserId field, and Unique Transmission Id, although redacted here. Any help here is appreciated.

EDIT-- I know the URL is wrong, that's just an internal endpoint to capture the traffic outside of SSL. Also, I have tried 8bit instead of binary, as that was how the original transmission service is setup from our end.

SteveManC
  • 132
  • 4
  • 12

2 Answers2

2

I've compared what you've posted with what I am sending over and I don't see too much of a difference in the XML itself, I don't remember if the IRS is picky about indention on this request or not but I currently have no indenting in the SOAP I'm sending.

I'm not sending it using any MTOM boundaries, I'm simply reading the SOAP XML into a gzip request stream and throwing that out to the WSDL URL.

Below is a sample of what I've sent when I compared yours (taken and formatted from a raw output from Fiddler, it had no previous formatting)

POST [URL] HTTP/1.1
Accept-Encoding: gzip, deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: RequestSubmissionStatusDetail
Host: la.www4.irs.gov
Content-Length: 6194
Expect: 100-continue
Connection: Keep-Alive

<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:msg:irstransmitterstatusrequest" 
    xmlns:urn1="urn:us:gov:treasury:irs:ext:aca:air:ty18" 
    xmlns:urn2="urn:us:gov:treasury:irs:common" 
    xmlns:urn3="urn:us:gov:treasury:irs:msg:acasecurityheader">
    <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-D2FB25526C8348AD95E612881F40EB95" 
                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-200BDCDA5B0C4C468DFEB0581AA15570">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="wsse wsa oas1 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>[VALUE]</DigestValue>
                    </Reference>
                    <Reference URI="#id-204B33EDA74348ACABB3B791BEBF97F2">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="wsa oas1 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>[VALUE]</DigestValue>
                    </Reference>
                    <Reference URI="#id-D11B31E69B5B412EBA078A7C03C68D0D">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="oas1 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>[VALUE]</DigestValue>
                    </Reference>
                </SignedInfo>
                <SignatureValue>[VALUE]</SignatureValue>
                <KeyInfo Id="KI-A5CB548510AE48DF96C37ADF55E71AE6">
                    <wsse:SecurityTokenReference wsu:Id="STR-2B2450C3AC8B46C990E1328C2B53473B">
                        <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">[VALUE]</wsse:KeyIdentifier>
                    </wsse:SecurityTokenReference>
                </KeyInfo>
            </Signature>
            <wsu:Timestamp wsu:Id="TS-200BDCDA5B0C4C468DFEB0581AA15570">
                <wsu:Created>2019-03-22T18:11:32.991Z</wsu:Created>
                <wsu:Expires>2019-03-22T18:21:32.991Z</wsu:Expires>
            </wsu:Timestamp>
        </wsse:Security>
        <urn:ACABusinessHeader wsu:Id="id-204B33EDA74348ACABB3B791BEBF97F2" 
            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <urn1:UniqueTransmissionId>[VALUE]</urn1:UniqueTransmissionId>
            <urn2:Timestamp>2019-03-22T18:11:32Z</urn2:Timestamp>
        </urn:ACABusinessHeader>
        <urn3:ACASecurityHeader>
            <urn2:UserId>[VALUE]</urn2:UserId>
        </urn3:ACASecurityHeader>
        <wsa:Action>RequestSubmissionStatusDetail</wsa:Action>
    </soapenv:Header>
    <soapenv:Body>
        <urn:ACABulkRequestTransmitterStatusDetailRequest version="1.0" wsu:Id="id-D11B31E69B5B412EBA078A7C03C68D0D" 
            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <urn1:ACABulkReqTrnsmtStsReqGrpDtl>
                <urn2:ReceiptId>1094C-19-XXXXXXXX</urn2:ReceiptId>
            </urn1:ACABulkReqTrnsmtStsReqGrpDtl>
        </urn:ACABulkRequestTransmitterStatusDetailRequest>
    </soapenv:Body>
</soapenv:Envelope>
Das
  • 470
  • 5
  • 20
  • Gonna go ahead and say that's the answer. Immediately after changing to the non-multipart, or the way you show above, i progressed to the 1122 which I'm not as afraid of as I was ;) . Thanks to both Das and Russ for the help. Maybe we should get together and re-write the docs for them next year haha. – SteveManC Mar 22 '19 at 23:31
1

I will agree with what Das said, I don't believe formatting of the soap request matters. My request looks similar or the same as Das'.

When I compared yours to one of mine that I have previously sent I see the following:

  • You are using a ds prefix (defined in the Signature element), where myself and Das are not;
  • Das and I are both using a xmlns:oasi namepsace in the Envelope element where this is omitted in yours.
  • The formatting/order of some of the attributes is different, but I don't think this is actually a problem.

I seem to recall attempting to use the ds prefix in my transmissions initially, and the transmissions not working. However, I don't remember if this was specific to only the Status Transmission or if it also occurred in the Submission as well.

Instead of explictly defining the namespace prefix of the Signature element, I am using xmlns="http://www.w3.org/2000/09/xmldsig#" for it -- you have this as xmlns:ds.

Russ
  • 678
  • 8
  • 26
  • Russ is that an 'i' as in 'eye' or a 1 'one', at the end of oas for that prefix? Also I doubt that should matter but with the A2A endpoints I take nothing for granted ha. I actually have the `ds` prefix on my submission, not sure if it will affect the status submission or not as of yet. It is only a single line to remove or add that prefix so I've been testing all changes both ways, thanks for the suggestion. EDIT -- that's an L. I'm a bit blind. Same point as before, it really should not matter but I'll try anything at this point! – SteveManC Mar 23 '19 at 02:56
  • It is an i as in "eye". – Russ Mar 23 '19 at 14:42