BizTalk Default Pipeline XML Receive - Error Code -1061153241 - biztalk

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.

Related

BizTalk's 2016 Office 365 Adapter ReceiveLocation periodically shuts down

My Office365 Adapter sometimes shutdown; the only thing I can find is these messages in the EventLog, which are rather vague:
11:26:28 am - The receive location
"Office365.PublishEmail.ReceiveLocation.IntegrationEmail" with URL
"O365Mail://email#mycompany.com/Inbox" is shutting down. Details:"The
error threshold was exceeded. ".
11:25:28 The adapter "Office365 Outlook Email" raised an error
message. Details "The Event Log Error Threshold was reached. The
adapter will continue polling, but further event log entries will be
suppressed. ".
11:25:28 The adapter "Office365 Outlook Email" raised an error
message. Details "An error occurred while sending the request."
11:22:43 Info Msg - from "BizTalkTMS": Service Heartbeat
So today, I enabled it, it got the emails that were queued up (so no security issues), and then it went through the same shutdown steps again. I noticed last time, the same thing happened, after getting about 7 or 8 emails after being enabled (I can see traces of our orchestrations that run upon receiving an email).
Today, I re-enabled the ReceiveLocation at 2:07 pm, and this time, no queue up emails were waiting. It disabled itself again with the same sequence of messages/errors starting at 2:17 pm. It disabled itself again at 3:00 pm.
Then I went to check the "Configure" button on that receive location, and now getting this message (first time I've seen it):
I have an idea on the above. We had the systems team apply registry changes to force all apps to use TLS 1.2. (See here: BizTalk 2016 Office 365 Adapter and TLS 1.2)
Above is in our QA environment. The "configure" button opens the next screen okay in our DEV environment. I'm restarted the same ReceiveLocation in DEV, and it is also get the warnings and presumable will shut down in a few minutes.
The "BizTalk TMS service" is running and writing heartbeat messages to the EventLog periodically.
When we first installed the BizTalk application with that receive location, it worked fine for at least several weeks.
If it just happened periodically, it might make sense if Office 365 has a short outage. But the fact that I restarted it, and it disabled itself again within an hour shows something else is probably wrong.
I'm probably going to create some type of alert/email for this, but would like any ideas if other people experience this and what exactly causes it.
Updated: 09/12/2022
In the System Event Log, when I enable the Receive Location, I see a multiple of these messages:
A fatal error occurred while creating a TLS client credential. The
internal error state is 10013.
They seem to stop when the Receive Location disables itself.
There are a few sites I'm reading about this, one of them is here: A fatal error occurred while creating a TLS client credential. The internal error state is 10013

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.

Symfony2 not firing kernel.terminate event

I'm going to upgrade my Symfony from 2.0 to 2.5 with all this guides:
https://github.com/symfony/symfony/blob/master/UPGRADE-2.1.md
https://github.com/symfony/symfony/blob/master/UPGRADE-2.2.md
https://github.com/symfony/symfony/blob/master/UPGRADE-2.3.md
https://github.com/symfony/symfony/blob/master/UPGRADE-2.4.md
https://github.com/symfony/symfony/blob/master/UPGRADE-2.5.md
My front page works but web debug toolbar throws "404 Not found".
After whole day searching and digging trought symfony code i found:
Web Debug Toolbar and Profiler looks fine but...
app/cache/dev/profiler is empty (whole cache has 0777 access)
kernel.terminate event wont fires (last noticed event is kernel.finish_request)
i can't find place where Kernel terminate method is called (that is the last place where i stuck)
Maybe someone has simmilar problem?
3) kernel.terminate event wont fires
Ensure all the services which are listening to 'kernal.terminate' event are correctly configured. i.e Symfony should be able to instantiate the services which are listening to 'kernal.terminate' event.
Reason:
As Symfony dispatches 'kernal.terminate' event, the dispatcher first gets the list of services that are listening to this event. If it fails to get the list of services, it throws an exception. Since this exception is happening on terminate and the response is already sent, you will not be able to see the exception anywhere, other than logs.
If it fails to get the list of services that are listing to the 'kernal.terminate', it is most possible that there is an error in instantiating any of the services due to any reason. Eg. the arguments passed to constructor are wrong/not available.
Tip: Keep tailing symfony logs and php logs while debugging.
4) i can't find place where Kernel terminate method is called
You can find it in app_dev.php or app.php

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

No eventlogs from BizTalk

I've got a new production computer and installed my BizTalk app on there. The problem is that I don't see any messages in the event log, nor from my BizTalk app or BizTalk Server itself. The only message that appears in the event log is the following:
The following BizTalk host instance has initialized successfully.
BizTalk host name: BizTalkServerApplication
Windows service name: BTSSvc$BizTalkServerApplication
The source of that message is BizTalk Server. And no messages at all, even no logs about errors which I suppose already took place.
Just a quick thought incase you are still having problems.
I tried to write to the event log with a source type that didnt already exist and my BizTalk Host user account didn’t have permissions to create a new source type. This meant I never saw the entry in the event log.
E.g. (from example #Bill Osuch)
System.Diagnostics.EventLog.WriteEntry("MyBiztalkApp", "oh i did something");
Make sure either the MyBiztalkApp source exists or that your user has permissions on the event log to create it.
Also, if you have a lot of messages going through BizTalk you will probably want to implement your own logging so your event log doesn’t fill up. We used Log4Net for our implementation and a database to store messages.
If you're not getting any errors (suspended messages) as the messages process, you're not going to see anything in the app log. You could try adding an Expression shape to your orchestration and manually writing out some debug info:
System.Diagnostics.EventLog.WriteEntry("event type", "whatever...");
Does your application actually use the BiztalkServerApplication host? Check in the Biztalk Administration Console if all the host instances are indeed running. Is your application fully started? Messages are "put on hold" if your receive location is disabled for example.
To check this functionality, write to event log after every operation or shape in BizTalk orchestration.
Scenario-
Suppose you have to assigned a value to xpath of node in a map after transformation so in message assignment shape after you assign some value, you can write eventlog to admin console.
Ex. Suppose we have already initialized - "orderType" as "PO" in our expression shape and now we have to assign the value of "orderType" to the xpath of a node in our map then-
Shape- MessageAssignment(Under constructMessage Shape after transformation of map)
xpath(msgGetOrderReq, "/[local-name()='CustomerOrders' and namespace-uri()='http://example.com/EAI/IEmployee/v1.0']/[local-name()='ordertype' and namespace-uri()='http://example.com/EAI/IEmployee/v1.0']") = ordertype;
Next to this we want to print this information on the admin console so we need to write:-
System.Diagnostics.EventLog.WriteEntry("msgGetOrderReq", ordertype, msgGetOrderReq);
Build the project, Deploy and GAC it. Restart the host instance. Run the orchestration, process something and now you will be able to see the logs in admin console.
Regards
Mayank

Resources