Hi all,
I have a BizTalk application that calls a SQL Stored proc using WCF-Custom port.Typed request and response schemas for stored proc were extracted by 'ConsumeAdapterServiceWizard'.
Now when I'm running the BizTalk application it works fine for one set of input values.But for another set of input values , the same BizTalk application gives warning and the instance gets suspended.
This is the final xLang error which comes when instance gets suspended:
Event Type: Error
Event Source: XLANG/s
Event Category: None
Event ID: 10034
Date: 20/05/2011
Time: 10:12:32
User: N/A
Computer: myComp
Description:
xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'GetConsumption(2752c93f-c330-19e5-8ffc-d3540a83bd81)'.
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: a2dd07bc-edae-44b0-a276-eb5354848df2
Shape name:
ShapeId:
Exception thrown from: segment -1, progress -1
Inner exception: An error occurred while processing the message, refer to the details section for more information
Message ID: {BAF43CD3-99F5-4F38-98CE-14E83F1AEFD4}
Instance ID: {DD0DA4E4-812C-4E0C-9C5A-A61C295BF938}
Error Description: Microsoft.ServiceModel.Channels.Common.AdapterException: The ResultSet returned as part of the Typed Stored Procedure or Typed Polling invocation did not match the metadata available. If this Stored Procedure or Polling Statement can return
a variable number of result sets, consider using the un-typed Stored Procedure or un-typed Polling operation instead.
at Microsoft.Adapters.Sql.GenericReaderWriter.OnWriteBodyContents(XmlDictionaryWriter writer)
at System.ServiceModel.Channels.BodyWriter.WriteBodyContents(XmlDictionaryWriter writer)
at Microsoft.Adapters.AdapterUtilities.AdapterMessage.OnWriteBodyContents(XmlDictionaryWriter writer)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfMarshaller.CreateBizTalkMessageStream(Message wcfMessage, IAdapterConfigInboundMessageMarshalling config)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfMarshaller.CreateBizTalkMessage(IBaseMessageFactory messageFactory, IAdapterConfigInboundMessageMarshalling marshallingConfig, Message wcfMessage)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfMarshaller.CreateBizTalkResponseMessage(IBaseMessageFactory factory, IAdapterConfigInboundMessageMarshalling marshaling, Message wcfMessage)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)
Exception type: XlangSoapException
Source: Microsoft.XLANGs.BizTalk.Engine
Target Site: Void VerifyTransport(Microsoft.XLANGs.Core.Envelope, Int32, Microsoft.XLANGs.Core.Context)
The following is a stack trace that identifies the location where the exception occured
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.GetMessageIdForSubscription(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)
at Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)
at GetSmartMeterEnergyConsumption.CallGetSmartMeterEnergyConsumption.segment1(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Please note that the input values for which we get this error in BizTalk, we get result if we run it from SQL management studio.
About the SQL stored proc: The stored proc calls several sub stored procs based on the various input values. Also for enabling BizTalk to extract the strongly typed metadata , there is use of 'FMTONLY' flag in it, as it uses temp tables.
Please help me what this error means? Is it possible that issue is with stored proc, as I cant find a reason to think that the problem is with BizTalk application, as we are able to get the response for one set of values?
Please mention if further information is required.
Thanks