2016-04-01 55 views
1

'u ararken ilk ACA web servisine başarılı bir şekilde çağrı yapabildim ve bu durumun durumunun bir esinti olacağını düşündüm. Bo-o-oy nasıl yanıldım!"İletide WS Güvenlik Üstbilgisi geçersiz." ACAGetTransmitterBulkRequestStatus

Durum hizmeti için gönderim için yaptığım gibi aynı ayarları kullandım ... ve "WS Güvenlik üstbilgisi geçersiz hata!" Ne verir?!?! İmza oluşturma kodu, gönderim için kullandığımın aynısıdır! Kimsenin burada ne olduğu konusunda biraz ışık tutabilseydim çok memnun olurum. Aşağıdaki etiketler dijital olarak imzalanmış olmalıdır (ve ben onları imzalı do) olduğunu, farkındayım:

:

  1. ACABusinessHeader
  2. ACABulkRequestTransmitterStatusDetailRequest
  3. Güvenlik damgası İşte

benim Talebi olması

POST https://la.www4.irs.gov/airp/aca/a2a/1095BC_Status_Request_AATS2016 HTTP/1.1 
Content-Type: text/xml; charset=utf-8 
SOAPAction: "RequestSubmissionStatusDetail" 
Host: la.www4.irs.gov 
Content-Length: 5217 
Expect: 100-continue 
Accept-Encoding: gzip, deflate 
Connection: Keep-Alive 

<s:Envelope xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
<s:Header> 
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
     <Signature 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="#_1"> 
        <Transforms> 
         <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> 
        </Transforms> 
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
        <DigestValue>KBLc15A=</DigestValue> 
       </Reference> 
       <Reference URI="#_2"> 
        <Transforms> 
         <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> 
        </Transforms> 
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
        <DigestValue>dhkLQhzfkc=</DigestValue> 
       </Reference> 
       <Reference URI="#TS-ccf5abbbd36940f693d56b21ab489674"> 
        <Transforms> 
         <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> 
        </Transforms> 
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
        <DigestValue>O179zVlJnyo=</DigestValue> 
       </Reference> 
      </SignedInfo> 
      <SignatureValue>REDUCTED</SignatureValue> 
      <KeyInfo> 
       <wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
        <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">-- Base64ed cert ---</wsse:KeyIdentifier> 
       </wsse:SecurityTokenReference> 
      </KeyInfo> 
     </Signature> 
     <u:Timestamp u:Id="TS-ccf5abbbd36940f693d56b21ab489674"> 
      <u:Created>2016-04-01T15:02:00.505Z</u:Created> 
      <u:Expires>2016-04-01T15:12:00.506Z</u:Expires> 
     </u:Timestamp> 
    </wsse:Security> 
    <abh:ACABusinessHeader u:Id="_1" xmlns:abh="urn:us:gov:treasury:irs:msg:acabusinessheader"> 
     <UniqueTransmissionId xmlns="urn:us:gov:treasury:irs:ext:aca:air:7.0">REDUCTED</UniqueTransmissionId> 
     <Timestamp xmlns="urn:us:gov:treasury:irs:common">2016-04-01T11:02:58Z</Timestamp> 
    </abh:ACABusinessHeader> 
</s:Header> 
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <ACABulkRequestTransmitterStatusDetailRequest u:Id="_2" version="1.0" xmlns="urn:us:gov:treasury:irs:msg:irstransmitterstatusrequest"> 
     <ACABulkReqTrnsmtStsReqGrpDtl xmlns="urn:us:gov:treasury:irs:ext:aca:air:7.0"> 
      <ReceiptId xmlns="urn:us:gov:treasury:irs:common">Receit Id</ReceiptId> 
     </ACABulkReqTrnsmtStsReqGrpDtl> 
    </ACABulkRequestTransmitterStatusDetailRequest> 
</s:Body> 

UPDATE1: Sertifika ve durum hizmetimizle bir şeylerin sona erdiğini daha çok inanıyorum. Makbuz kimliğini uygun sertifikaya eşleyemedikleri görülüyor. En azından, uyumlu olduklarını, yapısal olarak XML ile ilgili yanlış bir şey olmadığını, onları gönderiyorum. Ancak asıl problemi tespit edemediler. IRS, daha önce yaptığım soruşturma için e-postadaki isteğimi yeniden güncellememi istedi. Şimdi bekleyecek ve ne olacak?

+0

Nasıl xml oluşturuyorsunuz? Güvenlik öğesinin büyük ölçüde SignedXml sınıfı tarafından oluşturulmasından farklı olarak, yalnızca SOAP zarfı ve üstbilgileri el ile oluşturarak, IRS ile çalışmamı çözüme kavuştum. – Bon

+0

@Bon Yanıtladığınız için teşekkür ederiz! SignedXml sınıfını kullanarak el ile imza oluşturuyorum. Bence bu bölümde aynı teknedeyiz. Neyi anlayamadığımı anlamıyorum, neden gönderim hizmeti için çalışan bir durum için çalışmıyor? Her iki hizmet için çalıştığını gördüm, farkın ne olduğunu, durum hizmetinin çalışmasını sağladın mı? – fatherOfWine

+0

Benim için tek farkın, pdf'lerinde belirtilen farklı öğeleri imzaladığını düşünüyorum. – Bon

cevap

1

Peki, uzun hikaye kısa. Durum servisi şimdi çalışıyor. Geriye doğru ilerleyen IRS geliştirme ekibinin, silinen ve sonradan işaretlenmiş olarak gösterilen istemci yapılandırmalarının kaldırılmasının ardından, durum hizmetinin işe yarayacak bir ruhu olduğu ortaya çıktı. Durumun nasıl çözüldüğü konusunda biraz yıprandım, ama sonunda işe başlamış olsaydı - olsun!

0

@fatherOfWine (Ben Bir yorum eklemek için yeterli itibar yok), ben InclusiveNamespaces öğesi Transform elemanlarının eksik olduğunu fark ettim. Zaten bildiğiniz bir şey için özür dilerim, dahil isimleri XML'in kurallı hale getirilmesinde ve sonunda SHA1 özetlerinin hesaplanmasında dikkate alınır.

IRS 'ACA Teknik Desteğine bir e-posta gönderin ve gönderdiğiniz üç sindirim değerinin hesaplarını geçtiğinden veya eşleştiğinden bunların günlüklerine bakmasını isteyin. En azından hangi özet değerlerinizin geçtiğini ve çeklerinin başarısız olduğunu tespit edebilecekler. TCC'yi ve isteği gönderdiğiniz yerel saati bildirin.

+0

Cevabınız için teşekkür ederim. Ancak AFAIK kapsayıcı ad alanları, yalnızca tanımları imzalı belgeye harici ise gereklidir. Gönderme hizmetim çok iyi çalışıyor ve bu soruya verdiğim istek için imza oluşturan aynı imza kodunu kullanıyor. Kaz için iyi olan ne için iyi olmalı, n'es pas? :)) – fatherOfWine