私はBizTalk 2013 R2を使用しています。私はオーケストレーションを持っています。ここでは、helperクラスを呼び出してWebサービス(低レイテンシー)を呼び出すようにしています。クラスはSerializableクラスです。オーケストレーションは正常に構築されます。 POSTManからの解決策をテストしたところ、正常に動作します。BizTalk 2013 R2 XLANG - データベースに状態を維持するときに例外が発生しました
しかし、すべての成功の応答については、私はまた、イベントログで例外以下になりつつあります。
xlang/s engine event log entry: An unrecoverable exception (see the 'inner exception' below) has occurred.
Service Name: Orchestration Name
Service Id: df34c579-a9e6-5696-e322-b80210d1f723
Instance Id: 0512ae45-c89c-4ffc-9bd2-332b854d4965
An exception occurred when persisting state to the database.
Exception type: PersistenceException
Source: Microsoft.XLANGs.BizTalk.Engine
Target Site: Void Commit()
The following is a stack trace that identifies the location where the
exception occurred
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.Commit()
at
Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.ScheduleComplete(Boolean terminate)
at Microsoft.XLANGs.Core.Service.Persist(Boolean dehydrate, Context ctx, Boolean idleRequired, Boolean finalPersist, Boolean bypassCommit, Boolean terminate)
at Microsoft.XLANGs.Core.ServiceContext.OnCommit()
at "OrchestrationInstanceName".segment0(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
Additional error information:
A batch item failed persistence Item-ID 9b508582-438f-442d-a320-3ff7d9dd87ed OperationType MAIO_CommitBatch Status -1061151938 ErrorInfo A database failure occurred due to an unexpected failure. .
Exception type: PersistenceItemException
このパーシスタンスエラーを伴うデータベースエラーがありました。
次のストアド・プロシージャ・コールは失敗しました: "{[bts_UpdateMsgbox_XXXXXX](、、、、、、、、、、、、[DBO]呼び出します。????????????? 「?」、「?」、「?」、「?」、「? SQL Serverはエラー文字列を返しました: "警告:ローカル結合ヒントが使用されているため、結合順序が強制されました;警告:ローカル結合ヒントが使用されているため結合順序が強制されました。
system.diagnostics.trace
という形で.netヘルパークラスを呼び出しました。次に、オーケストレーションが最初の実行で2回実行されていることに気付きました。これは、Xlang - 持続性エラーとデータベースをスローします。 "重複キーは無視されました"というエラーが表示され、オーケストレーションが2回目に実行され、
私のオーケストレーションが二回実行されることは明らかです。次にヘルパークラスを呼び出すシェイプの周りにスコープを追加しました。スコープのトランザクションタイプは「なし」です。
次に、Xlang Persistenceエラーの問題が解決されました。
なぜこの仕事をエラーなく行うために余分なスコープをコールする必要がありますか?
これは繰り返し問題ですか?すべてのSQLジョブがエラーなしで有効になり、実行されていますか? –
@ Johns-305オーケストレーションの外部アセンブリへの呼び出しの周りに余分なスコープを追加するまでは、一貫した問題でした。はい、環境には他の問題はありませんでした。 – Dijkgraaf
呼び出されたWebサービスの再試行ポリシーは何ですか? https://msdn.microsoft.com/en-us/library/aa480191.aspx –