2016-04-01 9 views
1

私は最初のACA Webサービスへのコールバックを成功させることができました。私は、ステータスを取得することは簡単にできると思っていました。私が間違っていることをボ・オ・オー!"WSセキュリティヘッダーがメッセージにありません。" ACAGetTransmitterBulkRequestStatusを呼び出すとき

ステータスサービスに同じ設定を使用しましたが、サブミットの場合と同じように、「WS Security header is invalid error!」というメッセージが表示されます。何を与える?!?!署名生成コードは、私が提出に使用していたものと同じです!もし誰かが何らかの光を当てることができれば、ここで間違っているのは分かりますか? 私は次のタグがデジタル署名されるべきであることを、認識しています(と私はそれらを署名しない):ここでは

  1. ACABusinessHeader
  2. ACABulkRequestTransmitterStatusDetailRequest
  3. セキュリティタイムスタンプ

は私の要求です:

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:私はますます確信しています。私たちの証明書とステータスサービスでは、何かが終わってしまっています。領収書IDを適切な証明書にマップできないようです。少なくとも、XMLには構造的に何も問題はないと私はそれらを送信しています。しかし、彼らは実際の問題を特定することができませんでした。 IRSは私が最近したより詳細な調査のために、彼らに最近私の要求をメールで頼んだ。今は何が起きるか待つだろう。

+0

どのようにXMLを生成していますか? SignedXmlクラスによって主に生成されるSecurity要素を除いて、手作業でSOAPエンベロープとヘッダーを手動で作成することで、私のソリューションがIRSで動作するようになっただけです。 – Bon

+0

@Bon応答していただきありがとうございます!SignedXmlクラスを使用して手動で署名を生成しています。私はその部門で同じボートにいると思います。私がなぜ提出サービスのために働いているのがステータス1のために働いていないのか理解できないのですか?私はあなたが両方のサービスのために働いているのを見ました、違いは何ですか、それはステータスサービスを作ったのですか? – fatherOfWine

+0

私の唯一の違いは、pdfで指定されているさまざまな要素に署名していたと思います。 – Bon

答えて

1

まあ、ストーリーは短いです。ステータスサービスは現在動作しています。 IRS開発チームのすべてのバックナンバーが、クライアントの設定を削除した後で、削除されたマークが付いていて、それ以降はステータスサービスが動作するようになったのです。私は状況がどのように解決されたのか少し疲れましたが、最終的にはうまくいきました。

0

(私がコメントを追加するのに十分な評判を持っていない)

@fatherOfWine、私はInclusiveNamespaces要素があなたの変換要素に欠けていることに気づきました。あなたがすでに知っているかもしれない何かを述べて申し訳ありませんが、XMLの正規化と最終的にはSHA1ダイジェストの計算に含まれている名前空間が考慮されます。

IRSのACAテクニカルサポートに電子メールを送信し、送信した3つのダイジェスト値が合格または一致している場合は、ログを確認するよう依頼してください。彼らはあなたのダイジェスト値のうちどれが合格しているかを確認できます。 TCCとあなたがリクエストを送った現地時間を彼らに知らせてください。

+0

ありがとうございます。しかしAFAIKを含む名前空間は、その定義が署名された文書の外部にある場合にのみ必要です。それは私のサブミットサービスがうまく機能し、同じ質問のコードを使用しています。ガチョウのために良いものは、おとぎ話のために良いはずですか?) – fatherOfWine

関連する問題