Forum Replies Created
-
AuthorPosts
-
Yes direct ports do need to be defined at design time.
But you can route using promoted properties and the pub/sub mechanism of the messagebox – this is basically what binding the orchestration to a receive port does.When you bind a port it creates a subscription filter like:
[code:1:add554a995]BTS.ReceivePortId = <bound port id> AND BTS.MessageType = <receive shape message type>[/code:1:add554a995]With a direct port you set your own subscription filter on the receive shape. You can create your own routing properties. e.g. MyNamespace.PartnerId and create your own subscription filter:
[code:1:add554a995]MyNamespace.PartnerId = 27 AND BTS.MessageType = <receive shape message type>[/code:1:add554a995]Care needs to be taken with direct ports, it is easy to create an infinte loop.
And you will need to learn the trick of promoting properties inside an orchestration using a correlationset.I will read up more on direct ports, but I thought that direct ports need to be defined at development time. So the next time a new partner needed to be implemented, I would be adding a series of decision shapes to route their messages, but could obviously be way off base. Thanks for the input, and I’ll read up on them as soon as I get to work.
Thanks
Hi there
The value definately an integer when it is checked.
I have checked the Application event viewer within the biztalk admin console and can’t find any relevant messages.
I have checked the HAT which contains no messages at all.
Maybe its a setup/configuration problem, but i’d have no idea where to start looking.
Any other ideas.
Cheers
June 29, 2006 at 8:14 AM in reply to: Biztalk 2006: Help with Scripting Functoid using SQL Query #14952I agree with Stephen, use an external C# assembly is much easier.
You cannot use the [b:b2d6c400ec]using[/b:b2d6c400ec] directive in inline C#, so all external classes must be fully qualified:
[code:1:b2d6c400ec]System.Data.SqlClient.SqlConnection MyConnection = new System.Data.SqlClient.SqlConnection(@\"Data Source=(local); Initial Catalog = SomeDB; Integrated Security=true\");[/code:1:b2d6c400ec]
I am creating the project using visual studio and its wizard, there the connections are possible.
Basically the application is about reading a XML file and sending the info to the SQL Server database. Hence, there is no orchestration project. there is receive and send port only. receive is for geting XML file and send port is for sending the info over to SQL.Hence there is no schema as well. Orchestration is done through \”Add Generated Items\” in Visual Studio. The project doesnt need to be deployed as such. Hence HAT is not possible I guess.
[b:3426b5ed73]
The error I get on Event Logs is
The adapter \”SQL\” raised an error message. Details \”‘.’, hexadecimal value 0x00, is an invalid character. Line 2, position 1.\”.I saw the XML, it has a dot \”.\” before every character. I don’t know how to solve it.[/b:3426b5ed73]
After thinking about it, I’m really leaning towards msmq queues between each biztalk stack of functionality. This will allow us to dynamicly route messages through stacks of functionality, and keep our assemblies only tied through schema assemblies.
Has anyone attempted something like this? I’m afraid that it looks deceptively simple right now.
Thanks for any input.
We are running BizTalk 2006 on Windows Server 2003 SP1. I have Visual Studio 2005 on my local machine. Is there a way to make the BizTalk project templates available on my local machine? Or does VS and BT need to run on the same machine? Looking at the install for BT, since VS is a pre-req for the BT install, it looks like they need to be on the same machine. But this does not make sense to me. I have googled many things and have found very little info on this particular issue.
Thank you for any input!
I’m hoping someone might be able to help me through an architecture hurdle I’m facing.
We currently have a process that consists of :
Bulk load a file
Select the rows back out
Iterate the rows, calling a web service for each row
Hand off the results to another orchestration
Iterate the rows again calling a different web serviceIt has worked, but is suffering from timing issues (currently it is taking 5 hours or so for 1 customer), and it is not very flexible.
My thought was to break this down in a number of different biztalk \”things\”. Each of these things would do 1 small part of the process above, and send the message to the next biztalk thing in the chain, much like a convoy. I was hoping that I could use the pub/sub model to route messages through these functionality silos in a flexible way, basicly each silo would modify the message ever so slightly, and a subscription would hand it off to the next thing.
In my mind this architecture worked great. I could inject \”silos\” at runtime, and use the sub model to route messages as I needed, even adding very specific customer functionality to only one of the paths through the convoy.
I sat down with a couple of developers here, and we started to talk about how to implement it, and hit a brick wall. Unfortunatley, we are all pretty new with biztalk, although we have a lot of experiance in .net. What I’m picturing in my mind is a MessageBox send port, and MessageBox receive port, the receive port having the same filter drop down that is in the send port. Maybe there is a way to implement this that I am unaware of, but I don’t know a way.
My next thought bloated out complexity, but it would work I think. Add an MSMQ queue between each silo, where send ports could route to queues based on context properties, and recv locations would just listen to their \”holder\” queue. This would work, but it seems overly complicated, and we would have the need to maintain N (being the number of functionality silos) – 1 queues.
My last though was just to load the whole file, and write custom code that does it, and trigger the custom code through a SOAP call. This is probably the easiest to implement in the short term, but difficult to maintain and will require coding that, at least in my mind, has already been done in the pub/sub model of BizTalk.
Does anyone have any suggestions on this? I feel like I’m trying to fit a square peg in a round hole, but it seems like I should be able to dynamicly route messages back to biztalk, and I’m missing something easy here.
Thank you in advance for any help.
June 28, 2006 at 5:18 PM in reply to: Inserting, updating and deleting data using Stored Procedure #13915When you run the SQL Adapter inside Visual Studio, it builds a schema that allows you to map to the parms of the stored proc.
I find it easier if the stored proc returns at least one row, even if it is a \”Select return-code\” or something like that. You then do a Send to an Send Port (Request/Response with SQL Adapter) followed by a receive inside the orchestration.
I have an entire CD dedicated to SQL – see below.
June 28, 2006 at 4:55 PM in reply to: Biztalk 2006: Help with Scripting Functoid using SQL Query #14951I would put this code inside a .net component. That way, you can easily test the .net component and then add it to the map.
Not sure if you can do this using inline SQL anyway. I’ve had such bad luck with them I do everything inside a .net component and just call it from the map.
Hope this helps.
I don’t know much about uninstalling and unconfiguring, but adding BAM in later looks like an easy task.
I have done it on my local computer. It was as simple as opening the BizTalk Configuration tool and clicking on Bam.
One thing to note is it looks like all the components are installed by default. Then, you just pick and choose what you configure.
Hope this helps.
I have tried to do similar things in the past. I don’t think that’s supported inside the map.
You might want to try putting all the logic inside a .net component and calling that – not sure if that will work in your exact scenario though.
Could you be doing a numeric compare on a string field – the old problem that 500 < 9 when comparing strings?
When do you get this error:
[quote:c01de2f5c1]It gives error saying that \”the dll (solu1) should be deployed first\”[/quote:c01de2f5c1]? When you compile or run?There are deployment utilities to help you deploy Biztalk solutions.
I’m not sure I understand your scenario and what you are trying to do.
[quote:277426e86d]btw: do you know if it’s possible to mix external xslt map sheets with graphical map sheets?[/quote:277426e86d]
Thou shalt not mix!
However, you can use the XSLT scripting functoid. If the map is \”graphical’ to start with, and you want to add a little XSLT, code the XSLT in the Scripting Functoid. At least at our site, I find these maps are harder to maintain than all XSLT.
I like testing the XSLT in a debugger such as Stylus Studio (I think Visual Studio 2005 has an XSLT debugger also).
The thing I hate about XSLT in the scripting functoids is the tiny little windows and lack of good editor functionality.
-
AuthorPosts