标签: irs

无效的WS安全标头 - IRS ACA SOAP请求

我正在提交RequestSubmissionStatusDetail美国国税局的请求.

这是我的问题.在向IRS提交以下文档时,我总是得到"无效的WS安全标题".我不知道我的请求的哪一部分对此提交不负责任.

我正在引用以下PDF(示例代码从第35页开始):

我已经在VB和C#中编写了代码.我已经用Fiddler拦截了请求,并且还使用Altova XMLSpy将原始XML请求发送到IRS端点.

这是代码,几乎是逐行的PDF,减去密钥和TCC.

    POST https://la.www4.irs.gov/airp/aca/a2a/1095BC_Status_Request_AATS2016 HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    VsDebuggerCausalityData: uIDPo1urdU71mo5BnU/TZ/Ji3p0AAAAAddUwh6B4CU6+F/jOewcN7JE6Ql8n+R1PofxFBfDEEg4ACQAA
    SOAPAction: "RequestSubmissionStatusDetail"
    Host: la.www4.irs.gov
    Content-Length: 4044
    Expect: 100-continue
    Accept-Encoding: gzip, deflate
    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:7.0" 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">    
                <ds:Signature Id="SIG-82E7E6716E615C14D6144736030986660" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">     
                    <ds:SignedInfo>      
                        <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments" />      
                        <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />      
                        <ds:Reference URI="#TS-82E7E6716E615C14D6144736030986559">       
                            <ds:Transforms>        
                                <ds: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#" />                                       
                                </ds:Transform>       
                            </ds:Transforms>       
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />       
                            <ds:DigestValue>sgPiL73lIwOppVKHHUFkuWDEcLM=</ds:DigestValue>
                            <!-- DigestValue from Timestamp --> …
Run Code Online (Sandbox Code Playgroud)

.net wcf soap web-services irs

21
推荐指数
1
解决办法
2317
查看次数

寻找在ISS-UI AATS 2016站点上使用的示例IRS AIR XML文件

我已经尝试了提交和作文参考指南中引用的官方副本,但没有运气(下面):

<?xml version="1.0" encoding="UTF-8"?>
<p:ACAUIBusinessHeader xmlns:p="urn:us:gov:treasury:irs:msg:acauibusinessheader"
xmlns:acaBusHeader="urn:us:gov:treasury:irs:msg:acabusinessheader"
xmlns="urn:us:gov:treasury:irs:ext:aca:air:7.0"
xmlns:irs="urn:us:gov:treasury:irs:common"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurityutility-1.0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:us:gov:treasury:irs:msg:acauibusinessheader IRSACAUserInterfaceHeaderMessage.xsd">
<acaBusHeader:ACABusinessHeader>
<UniqueTransmissionId>token</UniqueTransmissionId>
<irs:Timestamp>2016-12-31T12:00:00</irs:Timestamp>
</acaBusHeader:ACABusinessHeader>
<ACATransmitterManifestReqDtl>
<PaymentYr>2015</PaymentYr>
<PriorYearDataInd>0</PriorYearDataInd>
<irs:EIN>EIN</irs:EIN>
<TransmissionTypeCd>O</TransmissionTypeCd>
<TestFileCd>TestFileCd</TestFileCd>
<OriginalReceiptId>OriginalReceiptId</OriginalReceiptId>
<TransmitterForeignEntityInd>0</TransmitterForeignEntityInd>
<TransmitterNameGrp>
<BusinessNameLine1Txt>BusinessNameLine1Txt</BusinessNameLine1Txt>
<BusinessNameLine2Txt>BusinessNameLine2Txt</BusinessNameLine2Txt>
</TransmitterNameGrp>
<CompanyInformationGrp>
<CompanyNm>CompanyNm</CompanyNm>
<MailingAddressGrp>
<USAddressGrp>
<AddressLine1Txt>AddressLine1Txt</AddressLine1Txt>
<AddressLine2Txt>AddressLine2Txt</AddressLine2Txt>
<irs:CityNm>CityNm</irs:CityNm>
<USStateCd>AL</USStateCd>
<irs:USZIPCd>USZIPCd</irs:USZIPCd>
<irs:USZIPExtensionCd>USZIPExtensionCd</irs:USZIPExtensionCd>
</USAddressGrp>
</MailingAddressGrp>
<ContactNameGrp>
<irs:PersonFirstNm>PersonFirstNm</irs:PersonFirstNm>
<irs:PersonMiddleNm>PersonMiddleNm</irs:PersonMiddleNm>
<irs:PersonLastNm>PersonLastNm</irs:PersonLastNm>
<irs:SuffixNm>SuffixNm</irs:SuffixNm>
</ContactNameGrp>
<ContactPhoneNum>ContactPhoneNum</ContactPhoneNum>
</CompanyInformationGrp>
<VendorInformationGrp>
<VendorCd>VendorCd</VendorCd>
<ContactNameGrp>
<irs:PersonFirstNm>PersonFirstNm</irs:PersonFirstNm>
<irs:PersonMiddleNm>PersonMiddleNm</irs:PersonMiddleNm>
<irs:PersonLastNm>PersonLastNm</irs:PersonLastNm>
<irs:SuffixNm>SuffixNm</irs:SuffixNm>
</ContactNameGrp>
<ContactPhoneNum>ContactPhoneNum</ContactPhoneNum>
</VendorInformationGrp>
<TotalPayeeRecordCnt>0</TotalPayeeRecordCnt>
<TotalPayerRecordCnt>1</TotalPayerRecordCnt>
<SoftwareId>SoftwareId</SoftwareId>
<FormTypeCd>1094/1095B</FormTypeCd>
<irs:BinaryFormatCd>application/xml</irs:BinaryFormatCd>
<irs:ChecksumAugmentationNum>ChecksumAugmentationNum</irs:ChecksumAugmentationNum>
<irs:AttachmentByteSizeNum>0</irs:AttachmentByteSizeNum>
<DocumentSystemFileNm>DocumentSystemFileNm</DocumentSystemFileNm>
</ACATransmitterManifestReqDtl>
</p:ACAUIBusinessHeader>
Run Code Online (Sandbox Code Playgroud)

当然,当您提交自己的信息并在ISS-UI AATS 2016网站上提交时,它只是说:

1 error has occurred. See below for more …
Run Code Online (Sandbox Code Playgroud)

xml xsd irs

5
推荐指数
1
解决办法
9983
查看次数

格式错误的参考元素

我试图将引用添加到我的安全标题,并遇到一个相当普遍的错误:

格式错误的参考元素

我尝试了以下类似的结果:

  1. 通过使在参考所述文档内的元素ID的元素作为的URI所述的Reference目的.
  2. 传递一个XmlElement对象到Reference通过LoadXml()方法.我正在XmlElement使用此StackOverflow帖子GetIdElement上的重载找到检索引用.

当我传入一个空字符串作为时URI,ComputeSignature()方法SignedXml按预期工作.但是,我需要添加最多3个对安全标头的引用.

更新#1
感谢这篇博文,我能够从中创建简化版本,我相信导致我的问题的是使用Namespace属性和前缀.

更新#2
看起来好像元素Id属性上的命名空间声明<Timestamp>导致发生此错误.

更新#3
我认为我有这个工作.请参阅下面的回答帖子.

工作示例:
请注意,Id XAttribute定义的命名空间不起作用; 而Id XAttribute没有定义的命名空间确实有效.

private void CreateSecurityAndTimestampXML(string fileName)
{
    TimestampID = "TS-E" + GUID.NewGuid();
    DateTime SecurityTimestampUTC = DateTime.UtcNow;

    XDocument xdoc = new XDocument(
        new XElement(wsse + "Security",
            new XAttribute(XNamespace.Xmlns + "wsse", wsse.NamespaceName), …
Run Code Online (Sandbox Code Playgroud)

c# x509certificate xml-signature irs

5
推荐指数
1
解决办法
4930
查看次数

IRS-A2A BulkRequestTransmitter消息未正确格式化和/或无法解释

尝试通过BulkRequestTransmitter Web服务提交时,我收到以下错误.对于此消息,组合指南不太有用,当我将SOAP XML与Composition Guide中的SOAP进行比较时,它们似乎是一对一的.我希望另一组眼睛能够看到问题所在.

消息格式不正确和/或无法解释.请查看位于https://www.irs.gov/for-Tax-Pros/Software-Developers/Information-Returns/Affordable-Care-Act-Information的"AIR提交组合和参考指南"第3节中概述的XML标准.-Return-AIR-Program,更正任何问题,然后重试.

我试过的:

  • 尝试在SOAP Envelope中提交(和不提供)空格.
  • 尝试使用XML格式的表单数据XML进行提交.
  • 尝试以base64string格式提交表格数据(如此提交内容).
  • ds为Signature元素添加了前缀.使用此SO帖子以便为Signature元素添加前缀.
  • 添加了"漂亮打印"格式的表格数据,并根据更新的作文指南(v4.2)添加.
  • 复制" 构图指南" 第10.3节中列出MIMEBulkTransmitterService请求的格式.
  • 创建了两个解决方案:1.)手动创建SOAP请求所需的XML并通过HttpWebRequest对象发送; 2.)通过WSDL导入到项目的发送提交请求Service Reference,使用自定义编码器GZip and Mtom Encoding并手动创建SOAP状态请求所需的XML(通过发送HttpWebRequest).

更新#1
根据一些新增内容更新了请求.

  • ds为Signature元素添加了前缀.
  • 添加了"漂亮打印"格式的表格数据,并根据更新的作文指南(v4.2:第5.4.2节)添加.

更新#2
我开始SOAP在Visual Studio的新实例中手动创建.xml文件,根据需要导入模式引用.我在任何类型的应用程序创建之外这样做.

通过这样做,我能够SOAP通过我的应用程序找到一些额外的错误(感谢intellisense!).我发现的错误是在Manifest XML中,因为它们不符合IRS模式.

我将在接下来的24小时内查看这些内容并进行相应更新.

  • urn:MailingAddressGrp应具有的任何一个孩子urn:USAddressGrpurn:ForeignAddressGrp.那个孩子应该包含适当的地址元素.我的代码目前缺少直接的孩子urn:MailingAddressGrp.
  • urn1:DocumentSystemFileNmof 的值Form1094C_Request_[TCC]_yyyyMMddThhmmssfffZ.xml不正确.我还不完全确定它应该是什么.
  • 该 …

c# xml soap-client irs

5
推荐指数
1
解决办法
2523
查看次数

标签 统计

irs ×4

c# ×2

xml ×2

.net ×1

soap ×1

soap-client ×1

wcf ×1

web-services ×1

x509certificate ×1

xml-signature ×1

xsd ×1