Forum Replies Created
-
AuthorPosts
-
I tried to reproduce this error, I created testSchemaDefault and added three elements A, B, C. I mapped A, gave B a default value, and tried mapping and not mapping C.
I tried MinOccurs of 0 and 1 on B, and could not get your error.
When I tried to not map C, I get this error which is entirely different from your error:
Output validation error: The element ‘http://TestSchemaDefaultValue.TestSchemaDefaultVal:TestSchemaDefaultVal’ has incomplete content. Expected ‘C’. An error occurred at file:///C:/DOCUME~1/nwalters/LOCALS~1/Temp/_MapData/Map1_output.xml, (1, 118).
Of course, you can turn off output validation, but that is not necessarily wise (right click map, then properties, \”Validate TestMap Output\” = False.).
Also, what are you mapping in? Are you using a real XML document or are you letting Biztalk Generate a dummy one for you. I noticed that if I let Biztalk generate the dummy data, he uses the default in the schema for the incoming value. Hopefully you are using a real file in the map-properties \”TestMap Input Instance\”?
What other properties are set for your BOKDFAT element?
I tried this input:
<ns0:TestSchemaDefaultVal xmlns:ns0=\”http://TestSchemaDefaultValue.TestSchemaDefaultVal\”>
<A>1</A>
<B>2</B>
<C>3</C>
</ns0:TestSchemaDefaultVal>and got this output:
<ns0:TestSchemaDefaultVal xmlns:ns0=\”http://TestSchemaDefaultValue.TestSchemaDefaultVal\”>
<A>1</A>
<B>B-Default</B>
<C>3</C>
</ns0:TestSchemaDefaultVal>mapping A to A and C to C and no mapping for B.
So it looks like it should work. Maybe you can create a simple example?
Sorry, that’s all I can figure out for now.
Neal Walters
http://Biztalk-Training.comFebruary 15, 2006 at 6:14 PM in reply to: Can one message be broadcasted to multiple orch instances? #14367Thanks for replying.
I did almost same thing. I use a property called \”Stage\” instead of \”process\” thought.
I apologize I did make myself very clear in my design intention:
In order to take the advantage of parallel processing ability BizTalk provided, I use a correlation set on message’s WorkID (a GUID). Therefore, each message instance (with a unique WorkID) will instantiate a new correlation – as well as an instance of the the Orchestration hosting that correlation set.
This design create a constrain for me that the signal message has to carry a matching GUID for each instance of the the Orchestration/correlation. That makes the signal message unique from each other as well. That’s why I can’t broadcast it.
I probabily should ask you a question \”Do you think there is another way to realize this kind of parallel processing\” instead of my original question.
February 15, 2006 at 2:34 PM in reply to: Exception of type System.OutOfMemoryException was thrown #12892Not sure on this one.
I have not worked with the WMI scripts much.
No, I don’t think so.
In 2004, the Partner Edition would only work on the free version of SQL. But, in 2006 they do not have that edition available any longer.
It will work on the Standard Edition of SQL that you can (or could have) gotten free at a launch event.
February 15, 2006 at 2:29 PM in reply to: Can one message be broadcasted to multiple orch instances? #14368You can do that by setting up your Receive Shape / Receive Port inside the Orchestration as Direct Binding to the Message Box. That’s really what’s going on under the covers anyways
You can then subscribe to anything you want using a filer inside the Orchestration. You can subscribe to something like MessageType.
Now, use caution. It’s very easy to get into an endless loop since when your Orchestrations Sends a message out it can also get picked back up again by the receive (if the properties match).
I’ll sometimes create a custom property that I set inside a custom pipeline called Process. I’ll set it to false in the pipeline and true once I hit the Orchestration. Might be something else that Biztalk gives you that you can use like ReceivePortId Exists or something like that. In any case, if you see cpu hit 100% you know your in a loop.
Best of luck.
The . is used within xpath for BT to understand namespaces. You will have to use any other symbol for your purpose leaving out the following ( \”, /, .).
Hope this helps.
This error is related to your send port…you have not set the transport type of the send port. Are you using late binding using a bindings file? If yes, this file has no node specifying the transport type for one of the sendports.
If no , then check the properties of the sendport in BizTalk explorer and check if the transport type has been set.
You can have a look at the video by Stephen which is about flat files and also contains the solution for your problem…(use all-in-one schema)
The video is available at http://www.biztalkgurus.com/Video/Flat-File-Disassembler-Video.html
Thanks to Stephen for such great work!
thank you neal,
I know I can make a simple request/response to a biztalk orchestration. The problem is the edi adapter which is made to work with files in a directory and process them in a queue.
Can anybody else help me?
thx
This is a general question about the \”PropertySchema.xsd\” document. I’ve noticed that no matter how many elements I promote using Quick Promotion, the PropertySchema document that is generated always has an element named \”Property1\”.
For example, I created a schema document with a single root element and a single child field element. I named the child field element \”ConfigFile\”. When I right-clicked on the child field element and clicked \”Quick Promotion\” the following PropertySchema.xsd document was created:
[code:1:b348294c0c]
<?xml version=\"1.0\" encoding=\"utf-16\"?>
<xs:schema xmlns:b=\"http://schemas.microsoft.com/BizTalk/2003\" xmlns=\"http://ETLOrchestration.PropertySchema.PropertySchema\" targetNamespace=\"http://ETLOrchestration.PropertySchema.PropertySchema\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">
<xs:annotation>
<xs:appinfo>
<b:schemaInfo schema_type=\"property\" xmlns:b=\"http://schemas.microsoft.com/BizTalk/2003\" />
</xs:appinfo>
</xs:annotation>
<xs:element name=\"Property1\" type=\"xs:string\">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo propertyGuid=\"96a7e416-0499-47a4-b6dc-9f8ab2f6d50f\" />
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name=\"ConfigFile\" type=\"xs:string\">
<xs:annotation>
<xs:appinfo>
<b:fieldInfo propertyGuid=\"1967c57e-10a9-416f-8260-44e8c00e500a\" />
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:schema>
[/code:1:b348294c0c]I want to understand how BizTalk works, so could someone explain why this Property1 element appears along with the element I created? Is this a bug? How do I specify a value for the property I created?
When I click \”Generate Instance\” this is what I see:
[code:1:b348294c0c]
<ns0:Property1 xmlns:ns0=\"http://ETLOrchestration.PropertySchema.PropertySchema\">Property1_0</ns0:Property1>[/code:1:b348294c0c]If I want to specify a value for \”ConfigFile\” do I have to add another line like this?
[code:1:b348294c0c]
<ns1:ConfigFile xmlns:ns1=\"http://ETLOrchestration.PropertySchema.PropertySchema\">ConfigFile_0</ns1:ConfigFile>[/code:1:b348294c0c]Any help the community could give me is greatly appreciated.
February 13, 2006 at 7:07 AM in reply to: Exception of type System.OutOfMemoryException was thrown #12890That error appears when the project is freshly deployed and enlisted throught wmi scripts.
However it works if I enlist the orchestrations through the explorer.
Is there a hot fix or script code to resolve this issue?
February 11, 2006 at 7:27 PM in reply to: converting multiple source documents into a single format #12864You will need a schema for each of the inbound data suppliers and one for your base message.
Then, you will need a map for each one.You do not necessary need an Orchestration for each one, you can map on the Receive Port. This would be a type of document normalization. Downside is exception handling can be difficult if you expect maps to fail or document to be received in poor format. If this is the case, you can still have one Orchestration that processes all the messages using untyped documents and dynamic maps.
If you didn’t really worry about error on the receive side, I would probably map on the receive port. This way, you would have one port per supplier and put a map on each port.
Hope this helps.
Neal,
I think i understand what you are getting at.
What about doing a Start Orch and then have a receive shape right after to wait for a response from the started orch. Just have the started orch throw a complete msg in a mailbox.
Not sure about running into correlation problems though 🙂
About Call orch not in the debugger. I could’ve sworn I’ve done that before. Right clicking the step that calls the Orchestration and selecting something like \”Enter called orchestration\” in the context menu.
Good luck
GinoFebruary 11, 2006 at 6:36 AM in reply to: Exception of type System.OutOfMemoryException was thrown #12891You don’t have any running instances of those Orchestrations you are restarting do you?
I’ve never seen that problem enlisted before. Does it work through the BizTalk Explorer?
Are you breaking up your message into multiple messages inside the pipeline and need this on each message?
If not, then you could just put them both inside the same schema and promote them.If you are breaking it up, not sure if you can create a property schema on the header and promote them. I thought you could – but someone told me you couldn’t. It would be worth a try I think. Otherwise, I would think you could do this inside a custom pipeline to promote the values.
-
AuthorPosts