Failure executing the send pipeline in Biztalk 2006 R2 using HL7 - biztalk

We have a strange problem. I added a couple of new schema's and orchestrations similar to ones we already had, and redeployed. The thing is, we recently upgraded to SP1 BizTalk 2006R2 and I'm not really sure if this is the cause of our problem.
I get an error like this:
There was a failure executing the send pipeline: "blablabla.pipeline, blablabla, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bf4bb7b2a02e5c5f" Source: "BTAHL7 2.X Assembler" Send Port: "toFDW" URI: "192.168.100.1:8008" Reason: Value cannot be null.
Parameter name: parent
Now the thing is, this is only for the messages where I add an extra filter. On the port I filter for a couple of message types and for one type there's an extra filter on a promoted property. In the orchestration this type gets the promoted property true an xpath expression, for all the other types there is no promoted property. However I get this error on our sendport, even if I don't set the extra filter. So I'm guessing that the BTAHL7Pipeline (HL7 Adapter) is having problems with the promoted property I set through xpath code. However we have always done this and with all the other orchestrations and messages this doesn't give a problem.
So I'm guessing it's related to our SP1 installation, but I'm not quite sure. Does anyone has an idea what's going or had a similar problem?
Edit: I did the same thing on another server which also has SP1 etc, and it's working here. Only this is the develop server so does anyone have any idea what setting or config could be wrong on the other one?

There is a bug with the BTAHL7, according to Microsoft. Might that be the issue? Details are here.
Looks like it has to do with the BTAHL7 MSH overrides configuration...

Related

Having trouble connecting to iSeries from .NET Core

Cross-posting with this on the IBM forums: https://www.ibm.com/mysupport/s/forumsquestion?id=0D50z00006egDnsCAE. Follow-up question located here: Having trouble connecting to iSeries from .NET Core
Hi all,
I'm very new to this whole thing, so let me know if there's any info which would help, that I'm not providing.
At the moment I'm just trying to get the very basics working - getting the connection to open. I have a stripped-down .NET Core project, which is simply exposing a button I can press that opens a connection for DB2. My code is as follows:
using IBM.Data.DB2.Core;
...
DB2Connection DB2Connection = new DB2Connection(connectionString);
DB2Connection.SystemNaming = true;
DB2Connection.Open();
My connection string is as follows:
"Server=###.###.###.###;Database=AAAA;UID=BBBB;PWD=CCCC;LibraryList=DDDD,EEEE;"
I'm getting the following exception:
IBM.Data.DB2.Core.DB2Exception (0x80004005): ERROR [08001] [IBM] SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "###.###.###.###". Communication function detecting the error: "connect". Protocol specific error code(s): "10061", "*", "*". SQLSTATE=08001
I really don't know how to proceed from here. For context - I'm using "IBM Navigator for i" to query the info directly, and that works just fine for the IP, User ID, and Password I used above.
I've done some reading up, and attempted a few different solutions, but none really helped. I did see that in "Integrating DB2 Universal Universal Database for iSeries with for iSeries with Microsoft ADO .NET", it suggested looking in the Work Management section of the navigator, and check under Server Jobs to see whether there was any added info - however, it does not appear there is anything there to see.
I do understand that I may require a license for this connection to work properly, and accept that if that ends up being the problem, I'll need to get the license - but I don't think I've reached that stage yet. For now I just want to make sure the connection itself works properly.
Any help or insights are greatly appreciated. Thank you.
The symptom SQL30081N with 10061 was resolved by including the PORT=xxx; in the connection string, where xxx is the correct TCP/IP port number on which the Db2-for-i-series is listening for connections.

Biztalk Error: This Assembler cannot retrieve a document specification

There was a failure executing the send pipeline:
"Microsoft.BizTalk.DefaultPipelines.XMLTransmit,
Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" Source: "XML assembler" Send Port:
"WcfSendPort_SqlAdapterBinding_TableOp_dbo_User_Custom" URI:
"mssql://host/serverName/databaseTable?" Reason: This Assembler cannot
retrieve a document specification using this type:
"http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/User#Select".
but the schema namespace is "http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/User1"
and the select node is : SelectQuery
after deploying make restart for host instance and nothing changed.
The problem is the message that hit's the Pipeline does not match any Deployed Schemas. So, this error is only a symptom of the real problem, it is not a problem in itself.
First, "SelectQuery" is not a valid WCF SQL Element. Do you mean Select/Query?
Next, it look like the schema was generated twice and you're using the wrong one. I can tell because of "User1".
So, figure out which is the right one, User or User1. Then make sure that is the one that's user where you expect and that it's deployed.

Strange issue while tracking port events with BAM

I have a very strange behavior while tracking data with BAM on BizTalk Server 2013 R2.
The same activity and Tracking profile work fine, but on some ports, no data is tracked, with no error (event log, BizTalk, failed tracked data (table TDDS_FailedTrackingData), no active tracking, no continuations).
The only difference between working ports and non working ports is the promoted properties. On the working ports, I have, the property BamTrackingOnly (http://schemas.microsoft.com/BizTalk/2003/xmlnorm-properties) is in the context (not promoted), while it is not present on the non working ports.
Do you know this property ?
Moreover, the issue appears on BizTalk Server 2013 R2. I also notice that the type of messages are "Unparsed Interchange", or "Serialized Interchange".
How can I fix this issue ?
It was finally a bug. A private patch could be got by calling Microsoft Support.

flex 4 default channel set ignored

When u start a new project, the default configuration is to use my-amf channel for all destinations like this:
<default-channels>
<channel ref="my-amf"/>
</default-channels>
But suddenly, something got screw up and i have to specify an end point for every remote object in the project, because if i don't, every remote object but one (idk why this works...) will fail with the error message:
Destination 'name' not accessible over channel 'my-rtmp'
I was told that my project name being different to the context root in flex server properties could be the cause, but this is not the case.
Any ideas of what could it be?
Ok, this was a little disappointing, i just found out, some routes on the build path and and even the flex compiler arguments were messed up...
This should be the first place i had look at, but with all the rush, i wasn't thinking clearly, its all good now.
You should be able to find the default values for your destination in the web config. Change that to whatever your CF server is set up to use.

Pool Multiple Messages with BizTalk 2006 SQL Adapter

I have a StoredProcedure that returns a simple table containing several records:
DECLARE #STEPS_TABLE AS TABLE (OrchestrationID uniqueidentifier, [Message] nvarchar(1000));
-- LOADING THE VALUES HERE
SELECT * FROM #STEPS_TABLE As Step FOR XML AUTO, XMLDATA, ELEMENTS
I used the SQL Transport Schema Generation Wizard to create my schema and could configure the port correctly. If I use this schema on my orchestration, it works perfectly. BizTalk starts one instance of the orchestration everytime the #STEPS_TABLE has more than 1 record.
Reading Microsoft technical documentation, they recommend to get several messages in one call and then use the XML pipeline to disassemble the multi-row BizTalk message into a single-row BizTalk message.
I haven't used the XML pipeline before, so I tried the provided steps but couldn't get it to work.
Could somebody provide me a link to a "how to" (didn't find anything until now, after several hours of searching) or give me some hints to succeed.
Thanks in advance.
... some hours later I could figure it out myself. So if anybody comes across the same issue as me, here you have some guidelines to make it work on your environment.
At the end I followed a different walkthrough from Microsoft and avoided the pipeline recommendation altogether. The documentation I found is called "Disassembling Result Sets Using the SQL Adapter" and does exactly what i was looking for. You can just follow the whole walkthrough from Microsoft but avoid the creation of the send port and make some little adjustment on the receive port.
After following the technical document you will end up with two schemas, I will call them message and envelope (contains several messages) for the sake of this excercise. In your orchestration you can create a receiving port that maps to the message and then when you configure it as a SQL Port and you link it to your stored procedure (or select statement), you only have to change the Document Root Element Name to the envelope root name; the XML Receive pipeline (provided by default in BizTalk 2006) will do the magic of disassembling the messages contained in the envelope and instantiating an orchestration for each message.
The Microsoft "Disassembling Result Sets Using the SQL Adapter" walkthrough can be found under:
http://msdn.microsoft.com/en-us/library/aa562098(v=bts.20).aspx
Mission accomplished :)

Resources