I have a BizTalk application trying to do the following:
1) Typedpolling from SQL server using WCF-custom adapter, debatch them
2) Convert and save each individual record to an Oracle database.
I can successfully typedpoll records from SQL and send them to files.
I can also successfully read records from files and save them to Oracle tables. However, I can not manage to poll records from SQL and save them directly to Oracle Table. The error I received was: "Exception occurred when persisting state to the database". This is the error message in its entirety:
xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'Test00070.Test_00070(7a42a905-f067-e0f9-31df-b2ae9c06b0e4)'.
The service instance will remain suspended until administratively resumed or terminated.
If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
InstanceId: 7928beb5-f8db-4212-9e45-4eeaeae34690
Shape name: Send_1
ShapeId: 89c1b018-07d3-42d5-8511-6eb9da64b029
Exception thrown from: segment 1, progress 11
Inner exception: 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 occured
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.Commit()
at Microsoft.XLANGs.Core.Service.Persist(Boolean dehydrate, Context ctx, Boolean idleRequired, Boolean finalPersist, Boolean bypassCommit, Boolean terminate)
at Microsoft.XLANGs.Core.ServiceContext.PendingCommit(Boolean ignore, XMessage msg)
at Microsoft.XLANGs.Core.ExceptionHandlingContext.PendingCommit(Boolean ignoreCommit, XMessage msg)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.SendMessage(Int32 iOperation, XLANGMessage msg, Correlation[] initCorrelations, Correlation[] followCorrelations, SubscriptionWrapper& subscriptionWrapper, Context cxt, Segment seg, ActivityFlags flags)
at Microsoft.XLANGs.Core.PortBase.SendMessage(Int32 iOperation, XLANGMessage msg, Correlation[] initCorrelations, Correlation[] followCorrelations, SubscriptionWrapper& subscriptionWrapper, Context cxt, Segment seg)
at Test00070.Test_00070.segment1(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
Additional error information:
A batch item failed persistence Item-ID c62be0cc-ef1c-4b8d-a00e-d8c1506b4659 OperationType MAIO_CommitBatch Status -1061151949 ErrorInfo The message found multiple request response subscriptions. A message can only be routed to a single request response subscription. .
Exception type: PersistenceItemException
Additional error information:
Failed to publish (send) a message in the batch. This is usually because there is no one expecting to receive this message. The error was The message found multiple request response subscriptions. A message can only be routed to a single request response subscription. with status -1061151949.
Exception type: PublishMessageException
This was what I did:
- Created auto generated items using WCF-Custom for OracleDBBinding and SQLBinding.
- From the xsd for SQLBinding, I debatched polled messages into individual records
- Create orchestration to received polled data, transform the SQL Message to OracleMsg and then Insert them back into Oracle.
I have successfully deployed the application but once I put the records into the SQL Tables, they got pulled over by BizTalk but I have encountered the error above.
Has anyone come across the issue above?
Update:
After stopping other application that might be waiting for the published message, I got this error:
There was a failure executing the send pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLTransmit, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "XML assembler" Send Port: "SEND_PORT_00070" URI: "oracledb://oracleServer/?PollingId=TEST_00070" Reason: This Assembler cannot retrieve a document specification using this type: "http://Microsoft.LobServices.OracleDB/2007/03/ORACLE_SCHEMA/Table/ROTATION_REQ#Insert".
This is my mapping: