Geeks With Blogs

Charles Young

First posted at 10th March 2004

I'm working on my first BizTalk 2004 project, putting together a demonstrator for the Microsoft partner community, and stuck in the bowels of TVP (Microsoft's UK headquarters). The demonstrator implements a simple scenario for the fictional Contoso Clothing company and uses not just BizTalk 2004, but also InfoPath, Great Plains, MS CRM, Windows SharePoint Services and Commerce Server. It's the first time I've had a chance to take BizTalk 2004 out for a spin, and for the most part I'm really enjoying it.

BizTalk 2004 is a massive step up from earlier versions. It presents a steep learning curve, and the preliminary documentation is a little thin, but it is well worth persevering We had a few initial problems getting a working build, so my advice is to run BTS2K4 on a clean, minimal base and only install those bits you really need. Once we got a working build, though, everything began to fall into place. I shan't make too many comments here, but doubtless will have a lot more to say about the product in the future.

InfoPath development came as a bit of a shock. At one level, you can create forms very quickly using the designer. However, as soon as you want to add anything smart to the form, you quickly discover that it is most un-RAD like. We have a simple form that invokes web services to populate drop down lists. Creating secondary data sources for this was OK, but then we had to post parameters to our web services to get the required response. You'd think this would be easy. In fact, the SDK has sparse documentation on how to do this, and it can be quite tricky. Each secondary data source is represented as a separate XML doc within the form. If you want to post data to the web service during a request, you have to use DOM to add the parameter data to the correct elements in this XML doc. You then call Query() on the data adapter, and the results are appended to another part of the XML doc. It took a little time to work this out, and the problem then became one of writing generic code that would submit parameterised requests and then display the results for a number of different web services. A few hundred lines of code later, and we have some fairly generic code to do this, but I'm still tweaking it to iron out faulty assumptions about namespaces and prefixes.

Don't get me wrong. InfoPath is a great tool. But for serious development, you must be prepared to invest some significant effort in writing script to deal with lots of common requirements. And don't even think of going there if you don't understand XML DOM and namespace handling.

I haven't tried out the preview InfoPath upgrade yet, as I don't want to risk destabilising my notebook during this project. However, it looks promising.

Posted on Tuesday, April 13, 2004 11:50 AM | Back to top

Comments on this post: MBS Project, BizTalk 2K4 and InfoPath

# re: MBS Project, BizTalk 2K4 and InfoPath
Requesting Gravatar...

I know this article is over a tear old, but I bumped into it in a desperate search on connecting CRM with InfoPath. You mention some generic connecting code for posting data into the Webservice.
I've managed to create some simple WebService Methods for extracting data out of CRM, but I'm most interested in examples of how to create some n::m relationships in a InfoPath form, and making it an update form rather than a displaying form only.

Any help would be most welcome.

Kind Regards,

Guus Teley
Joint Partners Group
The Netherlands
Left by Guus Teley on Jun 14, 2005 8:03 PM

Your comment:
 (will show your gravatar)

Copyright © Charles Young | Powered by: