by community-syndication | Aug 2, 2007 | BizTalk Community Blogs via Syndication
Information: This error occurs when a document is picked up by a receive location and the pipeline specified in that receive location does not recognize the data.
Troubleshooting:
1. Check that the correct pipeline is selected in your Receive Location Properties
2. Open Visual Studio and ensure the correct schema is used in the pipeline
3. Right click on your schema and manually validate the file that threw the error by selecting properties -> Input Instance Filename – > Select Original File. Then right click again on schema and select Validate Instance. You will be manually doing what the pipeline did to throw the original error. You should see detailed error information in the Visual Studio Output Window.
by community-syndication | Aug 2, 2007 | BizTalk Community Blogs via Syndication
Information: This error occurs when a document is picked up by a receive location and the pipeline specified in that receive location does not recognize the data.
Troubleshooting:
1. Check that the correct pipeline is selected in your Receive Location Properties
2. Open Visual Studio and ensure the correct schema is used in the pipeline
3. Right click on your schema and manually validate the file that threw the error by selecting properties -> Input Instance Filename – > Select Original File. Then right click again on schema and select Validate Instance. You will be manually doing what the pipeline did to throw the original error. You should see detailed error information in the Visual Studio Output Window.
by community-syndication | Aug 2, 2007 | BizTalk Community Blogs via Syndication
Microsoft’s SOA & Business Process Conference is the event for our customers and partners to get detailed guidance for planning and delivering solutions for Service Oriented Architecture and Business Process Management. SOA & Business Process issues reach across the entire organization from developers service enabling existing investments to architects recommending IT standards to business analysts optimizing processes and business owners investing in their IT portfolios. The Microsoft SOA & Business Process Conference will provide guidance across this spectrum through tracks focused on Tools, Solution Architecture, Infrastructure Architecture and Business Value.
We are now accepting session submissions for each of the four conference tracks listed below. Sessions are 1 hour in length and can be delivered in either breakout or chalk-talk styles. To submit a session, please complete the table below and send via email to [email protected]. All speakers will have their conference fee waived and non-Microsoft speakers will receive a $1000 stipend. The call for sessions will close on August 14th and confirmation letters will be sent out by August 31st.
Tools Track
The Tools track will provide details on the broad portfolio of SOA and business process tools and technologies available from Microsoft and its partner ecosystem. You can expect sessions on everything from the new designers coming in Visual Studio “Orcas” to the wide array of offerings from our SOA & Business Process Alliance partners. You will also see how to leverage new tools in BizTalk Server 2006 R2, Office System 2007, System Center, and others.
Solution Architecture Track
The Solution Architecture track will focus on the design and implementation of service oriented and business process solutions. We will provide best practices and proven patterns for handling challenges with many aspects of solution architecture including: data, identity, user experience, messaging, workflow, and rules. We will also focus on key capabilities such as service and process analysis and design, service enablement, service composition, process modeling, service instrumentation, service & process lifecycle management and others.
Infrastructure Architecture Track
The Infrastructure Architecture track will focus on the organizational and technical issues faced when planning and establishing service oriented and business process infrastructures in the enterprise. We will provide guidance and best practices on topics ranging from designing and implementing shared infrastructure for service and process management to overcoming cultural challenges when defining standard governance processes. We will also focus on key infrastructure capabilities such as service virtualization, SLA management, policy enforcement, service and process monitoring, governing service consumption and others.
Business Value Track
The Business Value track will focus on issues ranging from business capability analysis to establishing a SOA roadmap to defining metrics to measure your return on investment. We will provide case studies and guidance to ensure your SOA and business process initiatives demonstrate value quickly and stay focused on business goals. Whether you are a partner practice manager evaluating the business opportunity of SOA and business process or an enterprise decision maker evaluating the potential return on investment of your SOA and BPM initiatives, the Business Value track is for you.
Session Submission Form |
Speaker Name |
|
Speaker Title |
|
Company |
|
Speaker Email |
|
Biography |
|
Track |
|
Session Title |
|
Session Level |
|
Session Abstract |
|
Objective 1 |
|
Objective 2 |
|
Objective 3 |
|
by community-syndication | Aug 2, 2007 | BizTalk Community Blogs via Syndication
This last weekend I did a run up to the Oklahoma
City Code Camp to give my “Introduction to C# 3.0” talk in the morning.
I got to attend the keynote talk given by Jason Zander and it was great. He
did a very good job showing off how XAML (be it WPF or Silverlight)
allowed for powerful and graphically inviting UIs while still allowing developers
to work in a way which they are accustomed to.
Unfortunately I did not get to stay for the full day, as personal obligations called
me back to Arlington. Still, if you get a chance to attend a Code Camp in your
area, I would definitely go. Likewise if you have a chance to hear Jason talk,
I’d go out of your way to make sure you do.
by community-syndication | Aug 2, 2007 | BizTalk Community Blogs via Syndication
It’s official, registration for this year’s SOA & Business Process Conference is OPEN! As Mike hinted in his post, this year’s conference is one not to be missed. During 4 days of breakout sessions, chalk talk discussions, hands-on-labs, peer networking, social events, and interaction with the Microsoft product groups we will discuss both our current technology and business portfolio and examine the future of the industry and the Microsoft platform. Whether you are a developer, architect, or business decision maker we will have something for you with tracks spanning the full spectrum of technology, architecture, and business value topics. You can get the full scoop and register at www.mssoaandbpconference.com and I’ve included some details below to get you started. Attached to this post is also an email invitation that you can use to invite others to the conference. Finally, there will be another post coming shortly with a call for sessions.
Looking forward to a great event and to seeing you there,
Kris
What you can expect:
- Keynote Sessions by Senior Microsoft Executives and Technical Leaders
- Over 60 Breakout and Chalk Talk Sessions
- Hand-On-Labs
- Customer Case-Studies & Roundtables
- Birds of a Feather Reception
- Ask The Experts Reception
- Partner Expo
Sessions will be focused on four primary tracks:
Tools Track
The Tools track will provide details on the broad portfolio of SOA and business process tools and technologies available from Microsoft and its partner ecosystem. You can expect sessions on everything from the new designers coming in Visual Studio “Orcas” to the wide array of offerings from our SOA & Business Process Alliance partners. You will also see how to leverage new tools in BizTalk Server 2006 R2, Office System 2007, System Center, and others.
Solution Architecture Track
The Solution Architecture track will focus on the design and implementation of service oriented and business process solutions. We will provide best practices and proven patterns for handling challenges with many aspects of solution architecture including: data, identity, user experience, messaging, workflow, and rules. We will also focus on key capabilities such as service and process analysis and design, service enablement, service composition, process modeling, service instrumentation, service & process lifecycle management and others.
Infrastructure Architecture Track
The Infrastructure Architecture track will focus on the organizational and technical issues faced when planning and establishing service oriented and business process infrastructures in the enterprise. We will provide guidance and best practices on topics ranging from designing and implementing shared infrastructure for service and process management to overcoming cultural challenges when defining standard governance processes. We will also focus on key infrastructure capabilities such as service virtualization, SLA management, policy enforcement, service and process monitoring, governing service consumption and others.
Business Value Track
The Business Value track will focus on issues ranging from business capability analysis to establishing a SOA roadmap to defining metrics to measure your return on investment. We will provide case studies and guidance to ensure your SOA and business process initiatives demonstrate value quickly and stay focused on business goals. Whether you are a partner practice manager evaluating the business opportunity of SOA and business process or an enterprise decision maker evaluating the potential return on investment of your SOA and BPM initiatives, the Business Value track is for you.
by community-syndication | Aug 2, 2007 | BizTalk Community Blogs via Syndication
In 2004 in the SDK it provided you the schema, but in 2006 there are documents about what is in the binding file:
http://msdn2.microsoft.com/en-us/library/aa559686.aspx
and even how you can command line work with it here:
http://msdn2.microsoft.com/en-us/library/aa559898.aspx
But no schema out of the box!
I needed the schema so I can take an existing excel spreadsheet of trading partners and create a binding file that will import all of them at once. I asked the product group how to extract the binding file, and was not given the information (having access to the product group with the MVP status has its limitations obviously), but I found out through some other friends. The command to produce the schema that represents the binding file is:
xsd.exe “C:\Program Files\Microsoft BizTalk Server 2006\Microsoft.BizTalk.Deployment.dll” /type:BindingInfo
by community-syndication | Aug 2, 2007 | BizTalk Community Blogs via Syndication
Web Services Addressing Metadata is now a proposed recommendation!! Congratulations to Martin Gudgin, and all the guys who worked on the spec….(read more)
by community-syndication | Aug 2, 2007 | BizTalk Community Blogs via Syndication
Hi All,
A new set of code samples are available for BizTalk Server 2006 at MSDN
They include:
BizTalk Server 2006 Code Samples Collection
This file contains all of the BizTalk Server 2006 samples for easy download. It is updated as new samples are published.
Integrating BizTalk Server 2006 and Windows Workflow Foundation (BizTalk Server Sample)
This sample demonstrates how to […]
by Richard | Aug 2, 2007 | BizTalk Community Blogs via Syndication
There was a question on the Microsoft newsgroup the other day where someone had to split a message into parts. But some of the information that was supposed to go in to the different parts were part of the envelope. I thought I’d give my solution to the problem a try – here it is.
Say for example that we receive the following message.
<div><span style="color: #0000FF; "><</span><span style="color: #800000; ">ns0:EmployeeSalesReport </span><span style="color: #FF0000; ">ReportID</span><span style="color: #0000FF; ">="R100"</span><span style="color: #FF0000; "> EmployeeID</span><span style="color: #0000FF; ">="0012345"</span><span style="color: #FF0000; "> xmlns:ns0</span><span style="color: #0000FF; ">="http://Example.TransformAndSplit.EmployeeSalesReport"</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Sales</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ns1:Sale </span><span style="color: #FF0000; ">xmlns:ns1</span><span style="color: #0000FF; ">="http://Example.TransformAndSplit.Sale"</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ItemID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">100</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ItemID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Amount</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">10</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Amount</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ns1:Sale</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ns1:Sale </span><span style="color: #FF0000; ">xmlns:ns1</span><span style="color: #0000FF; ">="http://Example.TransformAndSplit.Sale"</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ItemID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">200</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ItemID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Amount</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">20</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Amount</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ns1:Sale</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Sales</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ns0:EmployeeSalesReport</span><span style="color: #0000FF; ">></span></div>
In the above message we have different sales information from one employee but all the global employee and report information (the ReportID and EmployeeID attributes) exists in the root node (what we’ll call the envelope of the message).
What we like to achieve is to split this envelope message into it’s different sale item so we get separate message looking something like the below where each item contains the global information from the envelope.
<div><span style="color: #0000FF; "><</span><span style="color: #800000; ">Sale </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://Example.TransformAndSplit.Sale"</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ItemID </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">200</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ItemID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Amount </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">20</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Amount</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">EmployeeID </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">0012345</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">EmployeeID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ReportID </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">R100</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ReportID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Sale</span><span style="color: #0000FF; ">></span></div>
There might be different needs for doing this in a pipeline but much of it comes down to choice of architecture style in your BizTalk solution. Personally I’d refuse to introduce another orchestration for splitting a message like this. I don’t believe that’s what orchestrations are for (they should deal with possible logic and workflow in my world). I’m sure other people feel different – feel free to use the comments.
Step 1 – Transforming the envelope message using XSLT
The first thing we’ll need to do is to transform the envelope message so that the information from the root node (the ReportID and the EmployeeID) get into every single Sale-node. There are a couple of ways of achieving this but I’ll use the XSLT-transformation pipeline component that ships with the BizTalk 2006 SDK.
All this component does is to let you point out a XSLT stylesheet you like to use to transform your message.
The stylesheet I’ve used is part of the solution that you can download here. I will not show the stylesheet full script here but rather the result after the message travel through the component.
<div><span style="color: #0000FF; "><?</span><span style="color: #FF00FF; ">xml version="1.0" encoding="utf-8"</span><span style="color: #0000FF; ">?></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">EmployeeSalesReport </span><span style="color: #FF0000; ">EmployeeID</span><span style="color: #0000FF; ">="0012345"</span><span style="color: #FF0000; "> ReportID</span><span style="color: #0000FF; ">="R100"</span><span style="color: #FF0000; "> xmlns</span><span style="color: #0000FF; ">="http://Example.TransformAndSplit.EmployeeSalesReport"</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Sales </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Sale </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://Example.TransformAndSplit.Sale"</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ItemID </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">100</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ItemID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Amount </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">10</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Amount</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">EmployeeID </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">0012345</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">EmployeeID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ReportID </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">R100</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ReportID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Sale</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Sale </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://Example.TransformAndSplit.Sale"</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ItemID </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">200</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ItemID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Amount </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">20</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Amount</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">EmployeeID </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">0012345</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">EmployeeID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ReportID </span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">=""</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">R100</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ReportID</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Sale</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Sales</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">
</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">EmployeeSalesReport</span><span style="color: #0000FF; ">></span></div>
Ok, nice. Now we have all the information we like in each of the Sale-nodes! All we have to do now is to split the message!
Step 2 – Splitting the message
We’ll use the standard XmlDisassembler component for splitting the message. All we have to do is to make sure we done the following.
-
Set the schema envelope property to “true” in the schema editor.
-
Set the Body Xpath property on the EmployeeSalesReport-node to point to the Sale-node.
-
Configure the Document Schemas and Envelope Schemas (same properties are called DocumentSpecNames and EnvelopeSpecNames if your doing the configuration after deployment in the administration console) properties of the XmlDisassember component to match the names of your schemas.
This is what the envelope schema looks like in this example.
This is what the XmlDisassembler configuration looks like.
There, we’re done! Now we can drop a test file containing two Sale-nodes and all the report/employee information on the top and have the two following separate files as a result when using a file send port.
Setting up the test solution
-
Download a zipped version of the solution.
-
You’ll have to unzip the project to C:Example.TransformAndSplit. If that isn’t possible you’ll have to change the path to the XSLT stylesheet in the XsltComponent in the pipeline as this is a fixed path.
-
When you build the XsltComponent the Output path is set to the Pipeline Components folder. This assumes that BizTalk is installed at _C:Program FilesMicrosoft BizTalk Server 2006_. If that isn’t the case make sure to change the output path of the component.
-
If you’d like to run the pipeline component in debug I’ve set this up using the pipeline.exe tool. There are however some paths in the debug setting of the XsltComponent project also that assumes that your BizTalk solutions is installed at C:Program FilesMicrosoft BizTalk Server 2006. If this isn’t the case you’ll have to change some values in the Command lines arguments property, but that only if you like to run debug.
-
Build and deploy.
-
Set up a receive port and location using the TransformAndSplitSales pipeline.
-
Set up a send port with for example a filter on the name of the Receiveport you’ve just set up.
-
Drop the example message that’s part of the solution!
Final thoughts
This example didn’t really take much more than an hour to put together. I do however realize that this is a simplified incoming message and that in the case of a more complex message we’d get a messy XSLT stylesheet to maintain. It’s also important to remember that using this method with XSLT transformation means that we will load the entire incoming Xml document into memory, so when we’re dealing with bigger Xml documents we’ll have manipulate the incoming message using other techniques.
Hope this is useful for someone!
by community-syndication | Aug 2, 2007 | BizTalk Community Blogs via Syndication
There was a question on the Microsoft newsgroup the other day where someone had to split a message into parts. However some of the information that was supposed to go in to the different parts were part of the envelope. I thought I’d give my solution to the problem a try – here it is.
Say for […]