Wednesday, April 18, 2012

ESB Itinerary Error: The published message could not be routed because no subscribers were found

If you use ESB Toolkit to implement an itinerary to process a message using typical messaging mechanisms to route the result to a specific endpoint, it is possible to receive the following error in the event viewer if the itinerary contains an Itinerary Service with a resolver included:

"The Messaging engine failed to process a message submitted by adapter:SOAP Source URL:/ESB.ItineraryServices/ProcessItinerary.asmx. 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."

The following image shows an example of the implementation described above.


There, the Itinerary Service named SendPortFilter configured as an Off-Ramp Extender, includes a resolver to call BRE, although the same error could happen even using static resolver implementation type.

To solve this issue is necessary to make a change on itinerary implementation. The following image shows the itinerary modified:


As you can see, the itinerary was modified to add a new Itinerary Service before the existing Off-Ramp Extender. Additionally, the resolver was removed from the extender and was included into the new Itinerary Service. It is important to take in mind the new Itinerary Service must have the following configuration:

Name: Is irrelevant. Put the name you want
Itinerary Service Extender: Messaging Extender
Container: point to the On-Ramp and its respective receive handler
Service Name: Microsoft.Practices.ESB.Services.Routing

Thursday, September 29, 2011

Script level upgrade for database 'master' failed because upgrade step 'sqlagent100_msdb_upgrade.sql' encountered error

If you have a SQL Server 2008R2 installation and the operating system has Windows Update turned on, it is possible that your database engine fails to start due to an update installed automatically.

Symptoms:

1. In SQL Server Management Studio when you try to connect to the database engine a message appears indicating a connection problem.
2. SQL Server service is not started, despite the service is configured to start automatically.
3. You start the service and a few seconds later, the service appears stopped again.
4. You review the event viewer and find the following messages:

Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it. For more information about how to rebuild the master database, see SQL Server Books Online.

Script level upgrade for database 'master' failed because upgrade step 'sqlagent100_msdb_upgrade.sql' encountered error 574, state 0, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the 'master' database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.

Solution:

One way to solve the problem that works for me is installing/reinstalling sql server 2008 r2 service pack 1.  You need to wait for a moment after the installation ends and start the service.  If you don't wait, it is possible that the following messaje appears in Management Studio:

Login failed of user 'xxxx'.  Reason: Server is in script upgrade mode.  Only administrator can connect at this time.