Error in BizTalk server 2010 administation - biztalk

I am trying to poll data from SQL server and receive data in a receive message who have the schema from the table in SQL, then I use a loop to each row by row and transfer each row to file.
In administrator I found an error, the error is:
The Messaging engine failed to process a message submitted by adapter:WCF-SQL Source URL:mssql://win-f7kl176gt9v//user?InboundId=id2. Details:The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

Run a query to look at your active subscriptions and identify your receive port:
Then check against your messages promoted properties. The usual case is that your receive port has the wrong filter i.e. message type etc.

Related

Can I use a single pipeline for both a file receive location and an email receive location?

I have a pipeline that is working for a file receive location. This pipeline accepts a csv file and maps it to an XML.
I'm now trying to setup a new email receive location using the same port, pipeline and pipeline settings.
Shouldn't biztalk ignore everything but the attachment if I set the body part index equal to 2? And then it should place the attachment in the pipeline just like with the file location, then the pipeline would output an XML file.
Error:
Microsoft.XLANGs.Core.PersistenceException: Exception occurred when persisting state to the database. ---> Microsoft.BizTalk.XLANGs.BTXEngine.PersistenceItemException: A batch item failed persistence Item-ID 72fbeba9-6bfe-48e0-a0e6-ca5bbd191aa1 OperationType MAIO_CommitBatch Status -1061151998 ErrorInfo The published message could not be routed because no subscribers were found. . ---> Microsoft.BizTalk.XLANGs.BTXEngine.PublishMessageException: 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 published message could not be routed because no subscribers were found. with status -1061151998
Pop3 properties:
PipelineConfigurations:
I tried stopping the orchestration and the send port and test both locations.
Testing the email location I got the same error with an email with a .csv attachment.
Testing the file location the data didn't reach the database, but the csv was processed because I could see it in the information logs.
This leads me to the conclusion that the problem is related with the mime decoding and whatever my pipeline is outputing from the email body parts.
Also after researching for a while all solutions seem to point to the necessity of having a pipeline exclusively for email since I need to say which part of the multibody part to decode. I was hoping there was a solution that would allow me to reuse the pipeline I use for the file location.
As #Dijkgraaf mentioned:
It is not failing in the pipeline. It is failing due to there being no Orchestration or Send Port that is expecting the message the Receive Port has published to message box.
That means that the receive worked, that the message has passed the pipeline, and is published in the Messagebox, but there is no matching subscription.
Check for routing failures in the BizTalk management console to find out why. It may be that the message type is not waht you expected, or that one more published properties are not set correctly.
See the suspended message and check which body part is the CSV file. Your config says its it should be the 3rd message BodyPart = 2.

BizTalk Default Pipeline XML Receive - Error Code -1061153241

Looking in the BizTalk Admin Console under tracked service instances and I can see that the default XML Receive pipeline starts, however it never completes. It remains at status "started" with the error code set to -1061153241. In tracked message events I can see the pipeline receives the message, however i can't see a "send" event type and it looks like the message is not sent to the MessageBox for the waiting orchestration to pick it up. My orchestration never gets initiated. There are no error messages in the event log, no suspended service instances, just the tracked service instance showing starting and not completed with the error code specified above.
I managed to resolve this issue. I had previously just GAC'd a dll and didn't update it as a resource in the Admin Console. Once I updated the Admin Console with this resource and restarted host instances the error went away. Thanks.

Promoting fields in HL7v2 Schemas for use in Correlation Sets

Say I were to create a promoted property on an HL7 v2 schema. I want to use this promoted property in order to correlate two messages in a parallel convoy. I did a dummy application without using HL7 schemas and all worked just as expected. To sum up what I did, see this tutorial.
It's actually quite simple, which is why I'm wondering there is a catch when it comes to the HL7 schemas.
I created the PropertySchema, Promoted the field I'm after in the HL7 body schema, everything compiled and deployed fine, I ran a query for the subscriptions on my receive ports and they look OK
http://schemas.microsoft.com/BizTalk/2003/system-properties.ReceivePortID == {D2F99A76-E28A-4B3E-AC52-F4E2F92453C3}
And
http://schemas.microsoft.com/BizTalk/2003/system-properties.MessageType == http://microsoft.com/HealthCare/HL7/2X#ORU_ALL_25_GLO_DEF
And
https://myNS.ECGCorrelationPropertySchema.CommonAccessionID Exists
However, I get a
The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted.
and looking in the Biztalk Group admin console, when I view the suspended messages, I don't see that the property has been promoted
Edit to add message context
Error Report Context
I have checked and double-checked, the schemas are there, there are duplicate schemas the Event log even shows A message was received of type http://microsoft.com/HealthCare/HL7/2X#ORU_ALL_25_GLO_DEF when I receive a message.
So now, I guess I have 2 questions:
If the promotions were happening successfully, would they show in the Message --> Context dialog (they did in my non-HL7 dummy app)
If they aren't supposed to show, is there a setting/property/anything somewhere I missed that is unique to using HL7v2 schemas?
Short answers:
1. Yes, provided this message came directly from the Receive Pipeline
2. No, once emitted from the disassembler, there is nothing special about an HL7 Message.
Make sure you're looking at the actual Suspended Message and not the Error Report. The best way to check this is to Stop, don't Unenlist, the Orchestration. The Message will then suspend Resumable.

Biztalk subscriber error

Can anyone help me with this error message please?
Event Type: Error
Event Source: BizTalk Server 2006
Event Category: BizTalk Server 2006
Event ID: 5778
Date: 1/02/2013
Time: 7:15:04 AM
User: N/A
Computer: BIZTALKSERVER
Description:
The Messaging engine failed to process a message submitted by adapter:SQL Source URL:SQL://SQLSERVER/SQLDB/.Details:
The published message could not be routed because no subscribers were found.
This error occurs if the subscribing orchestration or send port has not been enlisted,
or if some of the message properties necessary for subscription evaluation have not
been promoted. Please use the Biztalk Administration console to troubleshoot this failure.
What the error is saying is that BizTalk can't determine subscribers for that message. So your starting point would be to check your subscription settings on Send port or orchestration receive shape filter expression.
Rather than checking individual ports, etc. - I'd look at subscriptions via the admin console as a starting point - when viewing the underlying subscriptions the answer as to why no matching subscription is found is sometimes quite obvious.
I get the same error message on a system that has been working fine for 36 months. I think it is related to orphaned messages after we restarted the host and send ports. I just went and resumed the message from the Biztalk Group page -> Suspended items/Resumable -> right click resume the message. all is well.
Check for the filters in your send ports i.e BTS.ReceivePortName= "Your Receive Port Name".
Check the relevant send port is started, Orchestration is enlsited with correct bindings and receive location is enabled
After 1st and 2nd steps, go to Plateform setting and restart your Host instances.
Refresh your application, Now go to Suspended messages in GroupHub and resume your serviceInstance which should be in resumable state. Now it should be working.
Thanks
Mayank

Debug an orchestration in biztalk 2010

I'm making an orchestration to send data from one SQL Server DB to another one. I'm able to receive the data but unable to send it to the other DB. I made a send port to test what I'm getting as an input. I got to know that I'm not getting the right data from the source schema. I have tested the map from visual studio 2010, and it is working fine. But i'm getting following error in event viewer:
The adapter "SQL" raised an error message. Details "HRESULT="0x80040e14"
Description="SQLOLEDB Error Description: Empty update, no updatable rows found Transaction aborted "
<Root xmlns:ns00="urn:schemas-microsoft-com:xml-updategram">
<?MSSQLError HResult="0x80040e14" Source="Microsoft OLE DB Provider for SQL Server" Description="SQLOLEDB Error Description: Empty update, no updatable rows found Transaction aborted "?>
</Root>".
I want debug the orchestration. How can I do so?
Via the admin console you can view the suspended orchestration and set break points. The future runs of the orchestration will hold at the break point and again through the admin console you can attach to the orchestration and view information such as message content.

Resources