How to send small message to microsoft message queue from BizTalk 2016? - biztalk

I get the following error message when I try to send message to Microsoft Message Queue to server on the local network from BizTalk 2016 using the MSMQ adapter:
Could not load file or assembly
Microsoft.BizTalk.Adapter.MSMQ.MsmqLargeMessageWrapper.dll or one of
its dependencies. The specified module could not be found.
BizTalk, BizTalk Adapter Packs and BizTalk Enterprise Adapters are installed, and I am able to configure send and receive handlers and the send port itself.
Are there any pre-requisities I need to install?
Not very often you google and find four irrelevant answers...so what am I not getting?

Ok, got it. I was unlucky while I was thinking... ;|
MSMQ Adapter is built to call Windows Message Queuing queue on a Windows Server. If you call a remote queue, you need to activate Microsoft Messaging feature on the local server too - otherwise you end up with a simlar error message like above. It will forward the queue processing to the remote server.

Related

AMQP handshake timeout error while deploying AWS Corda Enterprise Template

I am deploying AWS Corda Enterprise Template. The Quick start deployed the stack as per the defined CloudFormation template. I can see 2 AWS instances, up and running as Corda nodes, in Hot-Cold setup with a load balancer.
However the Log for Corda node has following ERROR related to AMQP communication.
[ERROR] 2018-10-18T05:47:55,743Z [Thread-3
(ActiveMQ-scheduled-threads)] core.server.lambda$channelActive$0 -
AMQ224088: Timeout (10 seconds) while handshaking has occurred. {}
What can be possible reason for this error? This error keeps on occurring after a certain time interval. So it looks like some connectivity issue to me.
Note: The load balancer shows the status of this AWS Corda instances as healty (In Service). So I believe the Corda node has booted up successfully.
The ERROR message isn't necessarily tied to AMQP. Perhaps you were confused by the "AMQ" in the error ID (AMQ224088)?
In any event, this error indicates that something on the network is connecting to the ActiveMQ Artemis broker, but it's not completing any protocol handshake. This is commonly seen with, for example, load balancers that do a health check by creating a socket connection without sending any real data just to see if the port is open on the target machine.

BizTalk MSMQ Receive Locations Not receiving. Error details: The Messaging Engine is shutting down

So I have been running into this issue since we set up our BizTalk Server on a new network. We have the same MSMQ settings between the two servers.
The data stays in our AX MSMQ folders and has the correct permissions.
The system does not ever throw an error until I stop/restart the Receive Host Instances.
(we get one of these errors per message in any of our MSMQ ports)
Full error:
A message received by adapter "MSMQ" on receive location
"recv_loc_file_ax_2012_customer_message" with URI
"FORMATNAME:DIRECT=OS:AXSERVER\AXOUTPPDCUSTOMER" is suspended. Error
details: The Messaging Engine is shutting down. MessageId:
{65E24FE1-317E-4636-AFC7-B43FACBDBEDF} InstanceID:
{6618EEB3-9B72-4123-BD8C-422661A59BDD}
Then the messages finally appear under suspended instances after this error occurs. I am able to resume them and they all process as expected.
I have looked almost every, Anyone have suggestions for what is causing these messages to not be read into my MSMQ receive ports properly?
EDIT: This BizTalk server is connecting to a remote AX server's MSMQ, but I am doubting this changes anything I have not already looked into.
Thank you very much.
The error was on the guys who installed MSMQ on the remote server; the active directory was not set up thus not properly autenticating my BizTalk Server account.
Answer for BizTalk: The way to find these hidden errors was by changing the MSMQ BizTalk receive port to a WFC-NetMSMQ.
Other: we are a little baffled that BizTalk was able to take the messages out of MSMQ despite the AD not being set up and "force messages through" but this is a minor detail to note.
BizTalk reference

Error while calling VSO Rest API from BizTalk WCF-WebHttp Adapter

I have created a BizTalk application to connect to VSO Rest API to fetch or create work items.
I have configured a wcf-webhttp adapter for calling the rest API.
Before configuring the adapter, I have tested the API with console application and getting the results with same URL.
While running the application I am getting following error:
The adapter failed to transmit message going to send port "SendPort" with URL "the URL". It will be retransmitted after the retry interval specified for this Send Port. Details:"System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at https://xxx.visualstudio.com/defaultcollection/_apis/wit/workitems/2
connected host has failed to respond 23.98.150.230:443
But when I paste the URL in the browser I am able to see the result returned by API in the browser.
What could the issue be?

ESB Toolkit 2.1 error: "Could not enlist Send Port 'ALL.Exceptions'..."

I reinstalled the ESB toolkit using the same process (painful) that worked twice before.
But now when I go try to start the BizTalk application "Microsoft.Practices.ESB" in the BizTalk Administration Console, the application fails to start showing the following error:
Could not enlist Send Port 'ALL.Exceptions'.
Exception from HRESULT: 0xC00CE557 (Microsoft.BizTalk.SnapIn.Framework)
I found this error message in the event log:
Unable to communicate with MessageBox BizTalkMsgBoxDb on SQL Instance [MY SERVER].
Error Code: 0x8004d00e. Possible reasons include:
1) The MessageBox is unavailable.
2) The network link from this machine to the MessageBox is down.
3) The DTC Configuration on either this local machine or the machine hosting this MessageBox is incorrect.
SQL Server seems to be running ok. Really don't know where to start looking...
I had the same problem. Check out the port's filters, if the list is empty try to manually configure the filters on the port as following:
ErrorReport.FailureCode - Exists
Microsoft.Practices.ESB.ExceptionHandling.Schemas.Property.FaultCode - exists
those are the filters that usually exists on this port and somehow disappeared.
Worked for me, hope it will work for u as well
best regards,
David

BizTalk - Exception Handling and Send Alert to System Administrator

In Microsoft BizTalk Application when exception occurred then Services or port will goes to in suspended mode and need to manually start application or port.
What i want is when any exceptions occurred during message processing should send one email alert to system administrator and details of exception should be stored in separate database for further process.
Anyone have any better suggestion how we can do it.
Regards,
Rakesh
To handle the message failure secnario see using Failed Message Routing. As far as monitoring ports when they shut down you can either use MOM (expensive) or write a script to do what you want. There are many posts here in stackoverflow that address this... here is one such post.
To get an email alert sent for any messaging failures (i.e., a failure in a send or receive port)
For each send or receive port for which you want to track failures, edit the port properties and check the box for "Enable routing for failed messages"
For send ports, you'll find this option under "Transport Advanced Options".
The option for receive ports is under the General section of the port properties.
Create a new Send Port (perhaps in a separate "Exception Handling" BizTalk application) that uses the SMTP adapter to send the emails.
To send out all failed messages using this new port, create a filter on the send port with the Property ErrorReport.ErrorType == FailedMessage. That will evaluate as true for all messages that error on a send or receive port for which you enabled Failed Message Routing.
If you need to route messages differently, at a more granular level, then have a look at the properties on the Failed Message Routing page referenced by ChrisLoris.
To track exceptions for failed messages in a separate database, I would start with the Microsoft BizTalk ESB Toolkit Exception Management Framework, as it includes a database for this purpose and the mechanism to push exception/failed message data into that database (build atop Failed Message Routing). It even includes a web site to enable users to interact with the failed messages, which you can customize as you see fit or throw away altogether.
The instructions to install the just the Exception Management part of the ESB Toolkit are available at http://msdn.microsoft.com/en-us/library/ee250099.aspx. Microsoft's guide to using the ESB Exception Management is worth a review too and is here.

Resources