Answered by:
Unexpected Message Exception in BizTalk during WCF call

Question
-
Getting following exception when calling a WCF service from BizTalk ORchestration.
xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'Processes.AribaRequisitionPush_1Client(9792f23e-1913-5f83-1851-e5a2b706da2e)'.
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: 6eb0dc42-c953-4858-9c4a-dad052e080f9
Shape name:
ShapeId:
Exception thrown from: segment -1, progress -1
Inner exception: Received unexpected message type 'http://schemas.xmlsoap.org/soap/envelope/#Fault' does not match expected type 'http://tempuri.org/#ForwardRequisitonToAribaResponse'.
Exception type: UnexpectedMessageTypeException
Source: Microsoft.XLANGs.Engine
Target Site: Void VerifyMessage(Microsoft.XLANGs.Core.Envelope, System.String, Microsoft.XLANGs.Core.Context, Microsoft.XLANGs.Core.OperationInfo)
The following is a stack trace that identifies the location where the exception occuredat Microsoft.XLANGs.Core.PortBinding.VerifyMessage(Envelope env, String typeName, Context cxt, OperationInfo op)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBinding.VerifyMessage(Envelope env, String typeName, Context cxt, OperationInfo op)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXLogicalPortBinding.VerifyMessage(Envelope env, String typeName, Context cxt, OperationInfo op)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)
at Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx, Envelope& env, Boolean topOnly)
at Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)
at Processes.AribaRequisitionPush_1Client.segment1(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)Saturday, October 22, 2011 3:51 AM
Answers
-
Seems like you are getting a fault message from the service. Have you handled those in your process of calling the web service. I would suggest create a send port with filter messagetype = http://schemas.xmlsoap.org/soap/envelope/#Fault and see what the fault is. Check this for Fault handling in WCF Services. Check this blog post too has some examples.
Regards,
Bali
MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
My Blog:dpsbali-biztalkweblog
-----------------------------------------------------
Mark As Answer or Vote As Helpful if this helps.- Proposed as answer by Sathish.Krishnan Saturday, October 22, 2011 8:03 AM
- Marked as answer by Alan_YaoMicrosoft employee, Moderator Tuesday, November 22, 2011 3:45 AM
Saturday, October 22, 2011 4:36 AM
All replies
-
Seems like you are getting a fault message from the service. Have you handled those in your process of calling the web service. I would suggest create a send port with filter messagetype = http://schemas.xmlsoap.org/soap/envelope/#Fault and see what the fault is. Check this for Fault handling in WCF Services. Check this blog post too has some examples.
Regards,
Bali
MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
My Blog:dpsbali-biztalkweblog
-----------------------------------------------------
Mark As Answer or Vote As Helpful if this helps.- Proposed as answer by Sathish.Krishnan Saturday, October 22, 2011 8:03 AM
- Marked as answer by Alan_YaoMicrosoft employee, Moderator Tuesday, November 22, 2011 3:45 AM
Saturday, October 22, 2011 4:36 AM -
I have setup the filter and getting the following error.
A response message sent to adapter "WCF-BasicHttp" on Receive Location: "WcfSendPort_AribaRequisitionPush_BasicHttpBinding_IRequisitionPushService" with URI:"http://10.163.111.98/ARCServices/AribaRequisitionPush.svc" is suspended.
Error details: The message found multiple request response subscriptions. A message can only be routed to a single request response subscription.
MessageId: {DFEAD193-637E-4492-9267-600B53561F76}
InstanceID: {05215344-3205-4088-BEDC-72680875568E}
I have checked that I am not having mulitple request response ports on my orchestration but still getting this eror?
Please help
Monday, October 31, 2011 5:54 PM -
Hi,
Can you share the filters that you have set, this error reminds me of a hotfix for a problem in BizTalk Server 2006, which version of BizTalk are you using? Check this blog post for a similar issue. The hotfix is available here.
Also at what point of time you are getting this error. For subscriptions you should check with a query from the admin console too.
Regards,
Bali
MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
My Blog:dpsbali-biztalkweblog
-----------------------------------------------------
Mark As Answer or Vote As Helpful if this helps.Monday, October 31, 2011 6:25 PM -
Hi Bali,
I am using BizTalk Server 2010 and I don't think so hotfix is required for it because there is checkbox available in the host instance settings to enable multiple request response mechanism. I did that but didn't work. I am setting followng filters.
messagetype = http://schemas.xmlsoap.org/soap/envelope/#Fault
I also checked the active subsription from console but unable to find any other subscription. Similarly I have double check the Orchestration as well.
I am still getting the same error. Please provide me some solution to it. I have wasted the whole day to get rid of this error but no success. It is really hurting my deadline. Please help me out....
Thanks,
Tahir
Monday, October 31, 2011 8:04 PM -
Hi Tahir,
In case it's BTS 2010 after you change the setting on the host , you should restart the host instance, if you haven't already done so. Also make sure that you set the property on the host instance the port is running under.
HTH.
Regards,
Bali
MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
My Blog:dpsbali-biztalkweblog
-----------------------------------------------------
Mark As Answer or Vote As Helpful if this helps.- Edited by DPS Bali Monday, October 31, 2011 8:16 PM
Monday, October 31, 2011 8:16 PM -
What is HTH property?
I have done that but now again I am getting the basic error.
xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'Processes.AribaRequisitionPush_1Client(dc764d67-9af2-af33-da35-ec633fb1c3ba)'.
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: 4930a6df-fb19-4a84-aae3-33a889b389eb
Shape name:
ShapeId:
Exception thrown from: segment -1, progress -1
Inner exception: Received unexpected message type 'http://schemas.xmlsoap.org/soap/envelope/#Fault' does not match expected type 'http://tempuri.org/#ForwardRequisitonToAribaResponse'.
Exception type: UnexpectedMessageTypeException
Source: Microsoft.XLANGs.Engine
Target Site: Void VerifyMessage(Microsoft.XLANGs.Core.Envelope, System.String, Microsoft.XLANGs.Core.Context, Microsoft.XLANGs.Core.OperationInfo)
The following is a stack trace that identifies the location where the exception occured
at Microsoft.XLANGs.Core.PortBinding.VerifyMessage(Envelope env, String typeName, Context cxt, OperationInfo op)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBinding.VerifyMessage(Envelope env, String typeName, Context cxt, OperationInfo op)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXLogicalPortBinding.VerifyMessage(Envelope env, String typeName, Context cxt, OperationInfo op)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)
at Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx, Envelope& env, Boolean topOnly)
at Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)
at Processes.AribaRequisitionPush_1Client.segment1(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
Monday, October 31, 2011 8:23 PM -
Well :( .. my bad HTH was hope this helps. I have seen this error earlier, check this blog post, will give you an insight of what this error is. So basically on this response from the service you will either get the correct response or the fault message, you will have to handle both in your process.
Regards,
Bali
MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
My Blog:dpsbali-biztalkweblog
-----------------------------------------------------
Mark As Answer or Vote As Helpful if this helps.Monday, October 31, 2011 8:46 PM -
Error details: The message found multiple request response subscriptions. A message can only be routed to a single request response subscription.
MessageId: {DFEAD193-637E-4492-9267-600B53561F76}
InstanceID: {05215344-3205-4088-BEDC-72680875568E}
This error is because you have deployed the same schema twice. Please check your admin console under "All Artifacts".
Thanks
SKGuruTuesday, November 1, 2011 1:54 AM