2017-04-21 1 views
0

前払い文書の処理を特別なBill文書で処理する際に問題があります。このベンダーからの前払い書類がたくさんあるので(これは約6000件を超えるレコードです)、1つのベンダーにのみ発生します。AcumaticaのWebサービスを使用して、spesific billで前払い処理を行うことができません。

これは私のコードです。

sCon.getLoginSettlementVoucher(context); 
         AP301000Content billSchema2 = context.AP301000GetSchema(); 
         List<Command> cmds = new List<Command>(); 
         billSchema2.DocumentSummary.Type.Commit = false; 
         billSchema2.DocumentSummary.Type.LinkedCommand = null; 

         var command2 = new Command[] 
         { 
          new Value { Value = docTypeSV, 
             LinkedCommand = billSchema2.DocumentSummary.Type}, 
          new Value { Value = refNbrSV, 
             LinkedCommand = billSchema2.DocumentSummary.ReferenceNbr}, 
          billSchema2.Applications.DocTypeDisplayDocType, 
          billSchema2.Applications.ReferenceNbrDisplayRefNbr, 
          billSchema2.Applications.Balance, 
          billSchema2.Applications.AmountPaid 
         }; 

         try 
         { 
          var applications = context.AP301000Export(command2, null, 0, false, true); 
          int rowApp = applications.Count(); int ind = 0; 
          foreach (var data in applications) 
          { 
           string docTypeApp = data[0].ToString(); 
           string refNbrApp = data[1].ToString(); 
           string balanceApp = data[2].ToString(); 
           decimal balApp = Convert.ToDecimal(balanceApp); 
           string amountPaid = data[3].ToString(); 
           string index = ind.ToString(); 

           if (refNbrApp == AcuRefNbr) 
           { 
            billSchema2.DocumentSummary.Type.Commit = false; 
            billSchema2.DocumentSummary.Type.LinkedCommand = null; 
            billSchema2.Applications.ReferenceNbrDisplayRefNbr.LinkedCommand = null; 

            cmds.Add(new Value { LinkedCommand = billSchema2.DocumentSummary.Type, Value = "Bill" }); 
            cmds.Add(new Value { LinkedCommand = billSchema2.DocumentSummary.ReferenceNbr, Value = refNbrSV }); 
            cmds.Add(new Value { LinkedCommand = billSchema2.DocumentSummary.Vendor, Value = vVendCode }); 
            cmds.Add(new Key 
            { 
             ObjectName = billSchema2.Applications.DocTypeDisplayDocType.ObjectName, 
             FieldName = billSchema2.Applications.DocTypeDisplayDocType.FieldName, 
             Value = docTypeApp 
            }); 
            cmds.Add(new Key 
            { 
             ObjectName = billSchema2.Applications.ReferenceNbrDisplayRefNbr.ObjectName, 
             FieldName = billSchema2.Applications.ReferenceNbrDisplayRefNbr.FieldName, 
             Value = refNbrApp 
            }); 

            cmds.Add(new Value { LinkedCommand = billSchema2.Applications.ServiceCommands.RowNumber, Value = index }); 

            if (docAmtSV == balApp) 
             cmds.Add(new Value { LinkedCommand = billSchema2.Applications.AmountPaid, Value = docAmountSV }); 


            else if (docAmtSV < balApp) 
             cmds.Add(new Value { LinkedCommand = billSchema2.Applications.AmountPaid, Value = docAmountSV }); 
            else if (docAmtSV > balApp) 
             cmds.Add(new Value { LinkedCommand = billSchema2.Applications.AmountPaid, Value = balanceApp }); 

            cmds.Add(billSchema2.Actions.Save); 
            var result2 = context.AP301000Submit(cmds.ToArray()); 

           } 
           else 
           { 
            continue; 
           } 
          } 
         } 
         catch (Exception ex) 
         { 
          continue; 
         } 

次に、送信プロセスで以下のような例外メッセージが表示されます。

Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'. 

The request failed with the error message: 

-- 

<!DOCTYPE html> 

<html> 

<head> 

    <title>Request timed out.</title> 

    <meta name="viewport" content="width=device-width" /> 

    <style> 

    body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 

    p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px} 

    b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px} 

    H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red } 

    H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon } 

    pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt} 

    .marker {font-weight: bold; color: black;text-decoration: none;} 

    .version {color: gray;} 

    .error {margin-bottom: 10px;} 

    .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; } 

    @media screen and (max-width: 639px) { 

     pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; } 

    } 

    @media screen and (max-width: 479px) { 

     pre { width: 280px; } 

    } 

    </style> 

</head> 



<body bgcolor="white"> 



     <span><H1>Server Error in '/AcuInterface' Application.<hr width=100% size=1 color=silver></H1> 



     <h2> <i>Request timed out.</i> </h2></span> 



     <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "> 



     <b> Description: </b>An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 



     <br><br> 



     <b> Exception Details: </b>System.Web.HttpException: Request timed out.<br><br> 



     <b>Source Error:</b> <br><br> 



     <table width=100% bgcolor="#ffffcc"> 

      <tr> 

       <td> 

        <code> 



    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.</code> 



       </td> 

      </tr> 

     </table> 



     <br> 



     <b>Stack Trace:</b> <br><br> 



     <table width=100% bgcolor="#ffffcc"> 

      <tr> 

       <td> 

        <code><pre> 



[HttpException (0x80004005): Request timed out.] 

</pre></code> 



       </td> 

      </tr> 

     </table> 



     <br> 



     <hr width=100% size=1 color=silver> 



     <b>Version Information:</b> Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1098.0 



     </font> 



</body> 

--. 

答えて

0

私はすでにAcumatica ERPインスタンスフォルダ内のweb.configファイルでHttpExecutionのタイムアウトを増やす必要があります。 .............. ..............

デフォルトでは、このタイムアウトは300に設定されます。 5分

0

あなたが取得しているエラーは、時間を示す、とあなたはあなただけは、周りの持っている1つのベンダーや6000件の以上の前払い文書のためにそれを取得しているということですので、あなたの電話をかける前にタイムアウト値を増やしたいかもしれません。 ここでは、Screen Based APIコールのタイムアウト値を増やす方法について説明します。Link

ここに記載されていることを再開するには、次の行を使用してタイマーをより大きな値に設定してください。

context.Timeout = 700000;

+0

私はすでにあなたの答えを試して、私はcontext.Timeout = 1000000を設定しました。それでも同じエラーが表示されます.. – HariEko

関連する問題