Forum Replies Created
-
AuthorPosts
-
Neal, can you want to email me your sample.
Hello,
I have several Word Documents that I need to convert into XML and transfer it to a indexing document service that I have on another service. I was thinking that I could use BizTalk for this. Anybody have any examples that I could use to start this. I am brand spanking new at all this stuff, but have been a C# developer for about 3 years now.I was taking examples from the bizTalk server book that I received but I’m falling down on how to take the inmsg converting it to recognize it as a word doc and loading it into the outmsg in the IComponent module.
The whole trace didn’t get pasted in last message:
[code:1:6e6c86dc09]00000025 0.89273047 [9292] <Zipcode>12346</Zipcode>
00000026 0.89273047 [9292] <Action>WEATHER</Action>
00000027 0.89273047 [9292] </ns0:WeatherRequest>
00000028 1.65971065 [9292] Debug2A: Request=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000029 1.65971065 [9292] <Zipcode>12347</Zipcode>
00000030 1.65971065 [9292] <Action>WEATHER</Action>
00000031 1.65971065 [9292] </ns0:WeatherRequest>
00000032 2.30413175 [9292] Debug4Sub:E Received Response=<ns0:WeatherResponse xmlns:ns0=\"http://CorrelationTests.WeatherResponse\"><Temperature>90</Temperature><Pressure>30</Pressure><Description>Partly cloudy</Description><City>Dallas</City><State>TX</State><Zipcode>12345</Zipcode></ns0:WeatherResponse>
00000033 2.44385099 [9292] Debug4Sub:E Received Response=<ns0:WeatherResponse xmlns:ns0=\"http://CorrelationTests.WeatherResponse\"><Temperature>90</Temperature><Pressure>30</Pressure><Description>Partly cloudy</Description><City>Dallas</City><State>TX</State><Zipcode>12345</Zipcode></ns0:WeatherResponse>
00000034 2.70041561 [9292] Debug2A: Request=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000035 2.70041561 [9292] <Zipcode>12347</Zipcode>
00000036 2.70041561 [9292] <Action>WEATHER</Action>
00000037 2.70041561 [9292] </ns0:WeatherRequest>
00000038 2.93957758 [9292] Debug2A: Request=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000039 2.93957758 [9292] <Zipcode>12346</Zipcode>
00000040 2.93957758 [9292] <Action>WEATHER</Action>
00000041 2.93957758 [9292] </ns0:WeatherRequest>[/code:1:6e6c86dc09]Thanks Greg.
I’m trying to do a proof of concept and a training example using a simple message without SOAP Headers – using ZipCode to correlate on. When I’m happy with the results, I will do surgery on the real live orchestrration. I’m also doing a custom in-house class next month, so I need to show them a simple example. I’ve got all the filtering set up as per your example.
I didn’t think about linking both receives to the same receive port.
This avoids the \”Convoy\” error I reported last message?However, two questions:
1) Do I really need to add a second operation – or only if the messages are different schemas?
2) How do you add a second operation to a receive port?I could upload my example somewhere if you are willing to take a look.
Yesterday, I went with the idea of sending a Dummy message to init the corrleation befoer the loop. We’ve done this before, and it should work, but for some reason I’ve probably got a dumb bug. I have trace statements through-out bouth orchestrations, and I see three messages being sent (scattered) to second orch. But for some reason,[code:1:c09a36d7ea]
This is message that kicks off first orchestration via filter on the Action=\"SCATTER\":00000000 0.00000000 [9292] Debug4Sub:A Started Request=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000001 0.00000000 [9292] <Zipcode>12345</Zipcode>
00000002 0.00000000 [9292] <Action>SCATTER</Action>
00000003 0.00000000 [9292] </ns0:WeatherRequest>I THEN LOOP, BUMPING UP ZIPCODE AFTER EACH LOOP, AND SENDING MESSAGE TO DIRECT PORT. NOTE THE ACTION=\"WEATHER\", WHICH IS THE FILTER USED BY THE SECOND ORCH. SO HERE YOU SEE THREE SENDS WITH THREE ZIP CODES: 12345, 12346, 12347.
00000004 0.00003604 [9292] Debug4Sub:B Loop WeatherRequest=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000005 0.00003604 [9292] <Zipcode>12345</Zipcode>
00000006 0.00003604 [9292] <Action>WEATHER</Action>
00000007 0.00003604 [9292] </ns0:WeatherRequest>
00000008 0.31321803 [9292] Debug4Sub:C Send Completed00000009 0.31637681 [9292] Debug4Sub:B Loop WeatherRequest=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000010 0.31637681 [9292] <Zipcode>12346</Zipcode>
00000011 0.31637681 [9292] <Action>WEATHER</Action>
00000012 0.31637681 [9292] </ns0:WeatherRequest>
00000013 0.34250945 [9292] Debug4Sub:C Send Completed00000014 0.34277430 [9292] Debug4Sub:B Loop WeatherRequest=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000015 0.34277430 [9292] <Zipcode>12347</Zipcode>
00000016 0.34277430 [9292] <Action>WEATHER</Action>
00000017 0.34277430 [9292] </ns0:WeatherRequest>
00000018 0.40174520 [9292] Debug4Sub:C Send Completed ============ END OF LOOP MESSAGE ============
00000019 0.40338674 [9292] Debug4Sub:D Scatter Loop Completed
============ END OF LOOP MESSAGE ============EACH MESSAGE BELOW IS RECEIPT OF MESSAGE BY ORCH2.
MY CURRENT BUG IS THAT IT IS RECEIVING 5 MESSAGES, NOT 3.00000020 0.86219531 [9292] Debug2A: Request=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000021 0.86219531 [9292] <Zipcode>12345</Zipcode>
00000022 0.86219531 [9292] <Action>WEATHER</Action>
00000023 0.86219531 [9292] </ns0:WeatherRequest>00000024 0.89273047 [9292] Debug2A: Request=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000025 0.89273047 [9292] <Zipcode>12346</Zipcode>
00000026 0.89273047 [9292] <Action>WEATHER</Action>
00000027 0.89273047 [9292] </ns0:WeatherRequest>00000028 1.65971065 [9292] Debug2A: Request=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000029 1.65971065 [9292] <Zipcode>12347</Zipcode>
00000030 1.65971065 [9292] <Action>WEATHER</Action>
00000031 1.65971065 [9292] </ns0:WeatherRequest>——– THIS SHOWS THE FIRST RESPONSE BACK IN ORCH 1.
00000032 2.30413175 [9292] Debug4Sub:E Received Response=<ns0:WeatherResponse xmlns:ns0=\"http://CorrelationTests.WeatherResponse\"><Temperature>90</Temperature><Pressure>30</Pressure><Description>Partly cloudy</Description><City>Dallas</City><State>TX</State><Zipcode>12345</Zipcode></ns0:WeatherResponse>
——– THIS SHOWS THE SECOND RESPONSE BACK IN ORCH 1.
00000033 2.44385099 [9292] Debug4Sub:E Received Response=<ns0:WeatherResponse xmlns:ns0=\"http://CorrelationTests.WeatherResponse\"><Temperature>90</Temperature><Pressure>30</Pressure><Description>Partly cloudy</Description><City>Dallas</City><State>TX</State><Zipcode>12345</Zipcode></ns0:WeatherResponse>
—- NOW ORCH 2 RECEIVES MORE MESSAGES…
00000034 2.70041561 [9292] Debug2A: Request=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000035 2.70041561 [9292] <Zipcode>12347</Zipcode>
00000036 2.70041561 [9292] <Action>WEATHER</Action>
00000037 2.70041561 [9292] </ns0:WeatherRequest>
00000038 2.93957758 [9292] Debug2A: Request=<ns0:WeatherRequest xmlns:ns0=\"http://CorrelationTests.WeatherRequest\">
00000039 2.93957758 [9292] <Zipcode>12346</Zipcode>
00000040 2.93957758 [9292] <Action>WEATHER</Action>
00000041 2.93957758 [9292] </ns0:WeatherRequest> [/code:1:c09a36d7ea]The two extra messages result in two suspended instances of Orch2 with message Microsoft.XLANGs.Core.PersistenceException. Orch 1 remains dehyrdated.
I have done some work trying to see when items appear in BTSSubscriptionViewer. So for instance, if you receive a message and set \”initializing correlation\” – does that immediately create a subscription – or does it wait until the first Send. This is what confuses me – what does \”Initialize Correlation\” mean vs creating a subscription.
Each send in the scatter loop must create a subscription because the \”key\”, i.e. the promoted field that we are correlating on is different.Also note that if you go with the C# module, then that .NET assembly must have a strong name, and be deployed to the the GAC of your test machine, and eventually your production Biztalk server.
If you go with a web service, it would be deployed to your web service machine instead.
Oracle adapter might be included in Biztalk 2006.
The SQL adapter in 2004 only works with MS/SQL.So you could write a C# static program or a web service.
Do you already know C#?Just add an expression shape. If the class is static, you don’t even need to define an object variable, but you might want to return a success code.
First make a reference to your class (right click project, \”Add Reference\”)
varReturnCode = MyNamespace.MyClass.MyMethod
(employeeNumber,employeeName,employeeSSN);You could also pass an object. Create something like an employee object, define a variable in biztalk, select .NET Class, then select your employee class.
Then you could so something like this:
objEmployee = new MyNamespace.MyClass.Employee();
objEmployee.Name = \”John\”;
objEmployee.Number = 123;
objEmployee.SSN = \”123-45-6789\”;
varReturnCode = MyNamespace.MyClass.MyMethod(objEmployee);[quote:bac1291d88]Details:Could not find a matching subscription for the message. . This error occurs if the subscribed orchestration schedule or send port has not been started, or if some of the message properties necessary for subscription evaluation have not been promoted. Please refer to Health and Activity Tracking tool for more detailed information on this failure[/quote:bac1291d88]
This errror may have nothing to do with promoted fields.
If you are using an orchestration, make sure it is deployed and started.
Are are you using message based routing?Do you have a filter on a send port that subscribes to only certain values(based on your promoted field)? Does the message go through if you remove these filtered values?
You might also try going to your schema, right-click properties, set file name, then right-click \”generate instance\”. Try dropping this file and see if it goes through. If it does, compare the root element and target namespace to the file you were testing with when you got this error.
Namespace looks like this format:
http://schemas.microsoft.com/%5BOracleDb://<<Service Name>>//<<Databasename>>/Tables/<<Tablename>>]
Service Name is DNS name.
Hope this information helps you.
Nar-
Iam getting following error
Details:Could not find a matching subscription for the message. . This error occurs if the subscribed orchestration schedule or send port has not been started, or if some of the message properties necessary for subscription evaluation have not been promoted. Please refer to Health and Activity Tracking tool for more detailed information on this failure
iam using pipeline for debatching only, no mapping, meesage is from SQL database
What type of message are you receiving?
What components are in your custom pipeline?
Are you mapping in the pipeline?my solution is like this, i create custom pipeline and deployed it for orchestration iam not using any direct binding
There is no difference in the way attributes and elements are treated when they are promoted.
The Disassembler will write the value from whatever element/attribute and set the property to be promoted.Can you provide a bit of background as to the message flow – adapter/pipeline/orchestrations
Are you using custom pipeline components to promote properties, are you passing messages between orchestrations using direct ports.
Or are you just receiving an Xml message thru the XmlReceive pipeline?
Yes I defined Property Schema
Have you defined a property schema or are you using distinguished fields?
-
AuthorPosts