HL7 Accelerator Installation Issues

HL7 Accelerator Installation Issues

I had never played with the HL7
Accelerator
for BizTalk Server 2006 before today, but for a new project I needed
to have the MLLP adapter installed so that I could look at some of the adapter configuration
settings in receive locations and send ports.

So I proceeded to hit MSDN Subscriber downloads to find the accelerator and download
it, which proved harder than necessary because of the poor organization of the menu.
Hint: It’s not in the root “BizTalk Server Accelerators” node but in the one
with the same node under “BizTalk Server 2006”. Go figure!

Anyway, once I downloaded v1.3 of the accelerator I tried to install it. Unsuccessfully.
I kept getting the following error message as soon as the installer started:

Error: Installation cannot be performed because the BizTalk
Server has not been configured or user account is not a member of the BizTalk Server
Administrators group.

After googling for a bit I found the KB
article 927137
, which says this problem will happen because the HL7 accelerator
does not support BizTalk installations configured using domain local groups and that
you needed to configure BizTalk using universal groups. Alas, I was not on a domain
and was just installing on a standalone Virtual Machine with BizTalk configured using
machine-local groups. The KB article doesn’t state that local groups are also forbidden,
but it would appear that way, so keep that in mind.

However, I didn’t give up, as I still needed to get that information and didn’t want
to install a domain controller around just to install the MLLP adapter. So I fired
up the great ORCA MSI
editor, opened “Microsoft BizTalk Accelerator for HL7 1.3.msi” and managed to find
a way to let the setup program complete the installation. I wouldn’t recommend this
to anyone, but it might prove entertaining to some of you. Here’s what I did:

First of all, I needed to remove the custom action that was validating the user
groups at the beginning of the installer. I found it under the CustomAction table
with the name CheckBtsAdminUser. Just right-click on it, select “Drop Row” and the
check is gone.

I saved the installer and ran it again and this time it allowed me to go further,
but I noticed it would not allow me to install all the components (including the MLLP
adapter which is what I needed); they wouldn’t even appear on the “features” screen.
So back to Orca it was.

I then looked to see if any conditions where causing problem (it was reasonable),
and eventually found that indeed the missing features where depending on a check in
the Condition table of the MSI. So I edited them. I went through each feature and
removed the “NOT BTSCOMPLETECHECK” part of the condition expression for each feature.

I saved the installer and tried again and success! All the previously missing features
could now be installed. I proceeded with the installation and was able to complete
it successfully, though it was a little bumpy. First I ran into an error starting
the “Auditing and Logging Service”. Strangely enough it was caused by a missing AuditingLoggingService.exe.config
file in the “%ProgramFiles%\Microsoft BizTalk Accelerator for HL7 1.3\bin” folder;
I just created an empty configuration file and it worked.

Right at the very end I also got an error message about not being able to create the
MLLP receive location, but regardless of that the installation was complete and the
MLLP adapter was indeed available. So it was a happy story in the end, as I was able
to look at the stuff I needed. Thank goodness for Orca!

Technorati
tags: MSI, HL7, BizTalk
Server
, Orca
How-to Enable Scheduled Publishing in a MOSS Collaboration Portal

How-to Enable Scheduled Publishing in a MOSS Collaboration Portal

Today I got an interesting question in the U2U Sharepoint 2007 DevCamp in Copenhagen which I could answer straight away (this happens more than I’d like it to happen). After some searching and with the help of one of the attendees we finally managed to answer the question!

In a Microsoft Office SharePoint Server (MOSS) 2007 Publishing Portal (aka Internet Facing Website, aka CMS vNext site) you can choose to schedule the publishing of pages. For example, suppose you would like to advertise a message on your site during a specified period of time (eg from the 25th of December to the 1st of January). This is possible because the underlying Page Publishing Content Type has the required fields (Scheduling Start Date and Scheduling End Date); the Page Layouts make use of this Content Type.

In a MOSS 2007 Collaboration Portal (aka Enterprise Portal, aka SPS vNext site) Page Layouts are used in the same way as in a Publishing Portal, so I supposed they would offer the same scheduled publication feature too. Wrong! Out-of-the-box publishing pages in Collaboration Portals can’t be scheduled; the Publishing Console doesn’t show this option:

My first guess was that the Page Layout for pages in Collaboration Portals didn’t use the Content Type which included the Scheduling Start and End date, but wrong again; they do. It turned out that it’s a setting on the document library itself (Manage Item Scheduling). To enable this functionality you need to follow these steps:

  1. Navigate to the Document Library Settings page of the Pages document library. You can find the Pages document library by clicking the View All Site Content link on top of the Quick Launch.

  2. Click the Versioning Settings link and enable content approval, verify as well that both major and draft versions are allowed.

  3. Click OK and so you’ll end up back on the Settings page of the document library. Now click the Manage Item Scheduling link.

  4. Check the Enable scheduling of items in this list option and click OK. Voila, now you will be able to schedule the publication of pages in this document library!

To actually schedule a page to be published in a specific timeframe, create a new page in the modified Pages document library (or edit an existing one). The Publishing Console will show the Publication Start Date.

If you click the Immediately link, you can enter the schedule:

SMTP Delivery Failure: transport error code 0x80040217

When setting up a process to deliver emails from BizTalk, I always configure the SMTP information correctly, I always (this has happened to me four times now)start testing it and it is continually failing. The following error is as follows:

The message could not be sent to the SMTP server. The transport error code was 0x80040217. The server response was not available.

The resolution is that I had forgotten to configure the Send Handler with the smtp server address. Even though the documentation states that the configuration is overridden in the send port configuration, you still need to set up the address initially.

Advanced Message Queuing Protocol (AMQP) and Microsoft BizTalk Server

Recently I've read the AMQP (Advanced Message Queuing Protocol specification http://www.amqp.org/). Obviously this is the different protocol level then BizTalk messaging system but…

The AMQP specification let me get some thoughts.

And take in mind this topic is not a critic of AMQP or BizTalk, not at all. And this is not a comparing them, maybe sometimes 😉

AMQP:


Questions:

 

  •  I don't understand why the router functionality (in terms of AMQP it is an "Exchange") is placed only in the inputs of the system. Routing in BizTalk is symmetrical; it placed in the inputs and the outputs, before and after the queue.
    The consumer of the message can setup the Exchange and this substitutes the output routing (?), not sure.
  •  AMQP does not include the "Transformation" of the messages. I think the "pipeline" paradigm in the BizTalk is quite productive and helpful. It can be implied in the Exchange but anyway AMQP does not have the transformation API. All implementations of transformation API will be out of standard.
  • In AMQP the "consumer-cardinality" is the feature of the Queue or it seems so. I mean the Queue can have one consumer or many. In BizTalk the queue (MessageBox + agents) doesn’t care about consumers, it is the feature of Subscription agent (which works like the Exchange in AMQP).


What I like in AMQP:


What I like in AMQP:

  •  The "Fanout" Exchange. It works as follow: if the message come to the system but does not have consumers, it is passed to this Fanout exchange. In BizTalk we don't have such functionality. In the same case we have to create the "Fanout" send port manually or we've got the suspended message. In the application with broad using of the direct routing this is the continual case.
  •  The File Content class. It works as a message type to perform bulk file transfer. It is the case when we do not transform the message only route it and all routing data are outside the message (in binding parameters, for example). In BizTalk we have to do a lot of work only to transfer the bulk file through the system. This is the continual case too.
  •  The "Topics" Subscription. It uses the wild-cards for routing, like "STOK.USD.*" against routing parameter values as "STOK.USD.NYSE".
    Can we use the wild-cards in the Filters in BizTalk? No. But I think there is a simple implementation of the Topic subscription and much more if we could use the custom filters in BizTalk. Why do not add the new feature to BizTalk the "Users predicate" as it implemented for Functoids with Script functoids, for example? Now we have to at first evaluate our predicate in expression shape, for example, then set it to the promoted property, then use this property for routing.
  •  The message priority in the Queue.
  •  The processing of the messages with zero size body.
  •  The Standard for Error handling. In BizTalk we have many places where we got the errors and there are no strict rules. For example different adapters have different error handling when we sometimes get exceptions, sometimes the suspended messages. It is a "gray area" in BizTalk.

Please, feel free to critique and comments.

BizUnit Extensions : V2006_R1 Release Candidate

BizUnit Extensions : V2006_R1 Release Candidate

Happy New Year to you all. Both the main contributors to this project coincidentally ended up ill over Christmas so it took a really long time to get this out the door, but the release candidate for V2006 R1 is now live. Grab it from the releases page.

We have also added in some steps that make use of EntLib v2.0 so you would need the Jan 2006 version if you wish to compile the source code. The binaries are in the bin folder and in another folder named References so you can repoint them if you have any issues in VS. I think it is possible to run these without actually installing EntLib but you may run into some performance counter errors. There are workarounds such as Installing the services for only the binaries used and setting the permissions for the perf counter user group, but generally on a development machine, you might as well install EntLib (unless you hate it or cannot use it for other reasons). Of course, you dont actually have to use the EntLib steps if you dont want to and you can get by with the others.

Do send us feedback and we will see how best to make use of entlib while keeping the core as lightweight as possible.

By the way, theres some good stuff on BizUnit snippets at  : http://blogs.msdn.com/yjhong/archive/2006/05/04/589611.aspx
and : http://www.biztalkgurus.com/blogs/biztalk/archive/2006/07/20/How-To-Add-BizUnit-Snippets-Into-Visual-Studios-2005.aspx

The snippets were done a long time ago by Young Jun Hong and they dont cover all the steps and of course, they dont include the new extensions, but we’re trying to contact him to see if we can bring in these snippets into the project so we can keep them updated for all new steps.

(Do excuse the pasting of the links rather than embedding. For some reason firefox  removes the embedded links if you use the hyperlink tool and stupid IE7 does not even render the rich text box for blog entries).

Mama Pendse (The artificial intelligence based chatterbox)

Have you tried adding this guy / thing 'mama_pendse' ([email protected]) to your yahoo messenger buddy list?

 

You will love talking to him / it.

 

mama_pendse is an artificial linguistic entity (robot), uses artificial intelligence case-based reasoning to formulate replies to your comments.

Activated at Pune, India, on November 20 2000. Created by Bhargav Pendse.

 

 

I have it on my list from years now…

 

it can also provide you a lot of information like horoscope, dictionary meaning, directory information, country info, translation to other languages, distance between cities, time in any country, currency exchange rates, Climate, share price, traffic information, etc.

 

Just type help and you will get a big list of things that it can do.

 

Happy talking… err..scraping J

 

Benny Mathew
Seamless Integration Solutions
BizTalk Consulting, Development, Training

Bangalore, India
Cell: +91-9945602604 / Office: +91-80-41676177
http://www.seamless.in
http://GeeksWithBlogs.net/benny