Subscribe: Bryan Corazza
Preview: Bryan Corazza

Bryan Corazza

for ( ; ; ) { BizTalk, Workflow, and .NET }

Copyright: Bryan Corazza

SOAPException Maximum request length exceeded

Thu, 07 Sep 2006 00:06:00 GMT

Originally posted on:

Have you attempted to consume a web service just to see this message in return?  It turns out that ASP.NET by default permits web requests 4096kb or smaller to be sent up to a web server, which is a good thing.  To pass through anything larger than that you must follow these simple steps:

  • locate either the web.config or machine.config depending on how large you want the scope of the change. (machine.config obviously overriding the default on the entire machine.)
  • change the maxRequestLength parameter like so
    <httpRuntime>maxRequestLength ="8192"httpRuntime>

section of your config file to something in larger than 4096kb.


First Post with Windows Live Writer

Thu, 31 Aug 2006 20:02:00 GMT

Originally posted on:

Just testing this new tool at that can be downloaded from here.  A friend of mine has a post explaining what he likes and dislikes about the product and that can be found here.  Now let's just say I live somewhere in the map below.

I can't wait to start using the other features of this tool of off-line posting as I am a consultant and do sometimes spend lot of time en-route to where I'm going or waiting for a flight here and there, this would had come in handle over the winter.

[Updated] To setup Windows Live Writer to use geekswithblogs go here.

And who said there's anything wrong with guys and dolls?



Failed to Serialize the Message Part

Thu, 31 Aug 2006 19:57:00 GMT

Originally posted on:

Recently I ran into an issue with the SOAP adapter giving me the error 'Failed to Serialize the Message Part 'Foo'' ever so often.  If I sent 20k messages through I was maybe getting about 100 messages suspended for this error.  Now I spend about an hour looking at the messages that failed and I realized the problem really had 'nothing' to do with BizTalk and it was a serialization issue.  I basically took the messages that failed and attempted to de-serialize them using a utility in .NET which is what the SOAP adapter is doing once the message is sent there.  Needless to say I was getting the same message but this time I could see what field was causing the issue.  It was a datetime type and it was blank.

So if your receiving this message please try to de-serialize the into a .NET type and see if you're getting the same error.  There is something either missing or wrong about the data in your message.  I just wish that the error message returning from BizTalk was a little more helpful here, like explaining what field is having the problem.  Unfortunately I think that's a .NET issue and not a BizTalk one.


A Great Metaphor

Thu, 31 Aug 2006 19:55:00 GMT

Originally posted on:

I was doing what I typically do in my very small amount of down time I was reading my blog feeds from some of my favorite bloggers.  One blog that I read religiously is Brian Button.  I've had the pleasure to take part (a small one) in a C# design patterns group in NYC where on occasion Brian chimes in with some great advise and knowledge.  I particularly liked this article about 'Eating Toast' and thought it was a great post.  Read here.  (image)

New Methods in XmlReader 2.0

Thu, 31 Aug 2006 19:53:00 GMT

Originally posted on:

As you might have guessed it I work on a lot in the XML namespace of .NET and I'm finally starting to use some of the new XmlReader features.  This post will go over some of them here.  And remember a wise man once said that everything can be solved with one more layer of abstraction.  These new features are nothing more than an encapsulation of code that the major of us have written thousands of times before but its all about productivity.  Why just today I was at a meeting going over some change requests and noticed that n new features were being added and schedule and budget remained constant.  :)

.ReadToFollowing(string)  This method will forwards the cursor and returns a true once the conditions of the XmlNodeType.Element and Name equals your parameter.  This is very useful for crawling through large files where you only require a small amount of data from.

.ReadToNextSibling(string)  This method is great for splitting out smaller Xml messages that are inside of a larger schema since it will return true once the next sequential sibling is matched.  Example is here:


//do your stuff...


I use this one often in doing my own disassembly in helper classes.

.ReadSubTree() This method actually returns a XmlReader with limited scope of the subtree.  It does this by the use of an internal class called the XmlSubTreeReader which basically uses a reader to .MoveToElement() until the initial depth of that subtree has been met.  This saves me heaps of time instead of my usual mess of climbing down into each subtree manually.  I've always thought that writing code that read Xml was never elegant since Xml is so flexible.  Something had to give.

.ReadElementContentAsXxx() Now there are a bunch of these methods one for each type (doubles, int32s, strings, etc.)  and they are great because we no longer have to cast the value out of the XmlReader.  Each different method has an underlying class that specifically handles extracting the contents out of a Node with casting which can be expensive.

.Create() This is probably my favorite one.  So how many times have we called XmlReader reader = new XmlReader();?  Well now the Xml team has taken a lesson from the Enterprise Library folks in giving us a Factory Pattern for creating new instances of an XmlReader.  XmlReader reader = XmlReader.Create() several overloads exist for this.  So much easier than before.  Love the factory pattern.

Now this is just a small amount of what changed in the XML namespace in 2.0.  Overall performance has improved 20-30% on average (especially with compile XSLT).  These are also were BizTalk 2006 has picked up most of its performance gains over its predecessors.  Also its worth reading this by Aaron Skonnard on the new features of XML 2.0.



Mon, 21 Aug 2006 23:56:00 GMT

Originally posted on:

So here's the application I built to download the torrents for my favorite podcasts.  Get it here.


New blog...

Sat, 19 Aug 2006 15:34:00 GMT

Originally posted on:

So I started up another blog site here.  I am currently looking for a way to cross-post to keep this blog somewhat alive. (image)

Using SSO with the SAP adapter and in general

Sat, 29 Jul 2006 13:02:00 GMT

Originally posted on:

Here's my article on SSO.  Now I have been a huge DotNetRocks fan forever.  I love this show and their others (Mondays and Hanselminutes).  I actually just created an application that crawls their sites for new torrents and downloads them.  Might be posting that soon as I know a lot of developers that don't want to try to find all the old shows.  Also if your a big torrent fan, like I am, get your hands on uTorrent, one of the first torrent clients built in C#. (gotta love it)





Adding External Tools in Visual Studio for Installing/Removing assemblies to/from the GAC

Tue, 17 May 2005 01:42:00 GMT

Originally posted on:

First you open visual studio and goto Tools in the Menu bar and all the way towards the bottom of
the list you'll see External Tools (click on that).
Once that is open you will see a list of Menu Contents, to the right you will see an add and delete button.  Click on the Add button.  Once that is done you will see a [New Tool 1] entry into the bottom of the list.
  • Fill out the Title (to your liking) For this sample I used 'Install to GAC' and 'Remove from GAC'
  • For the Command Field, point to the gacutil.exe (by default in C:\Windows\Microsoft.NET\Framework\(latest version your compiling with)\gacutil.exe)
  • For VS 2005 by default gacutil.exe is “C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe“
  • Arguments -i$(TargetPath) - This is a Visual Studio built-in macro. 
    -u$(TargetName) obviously for the removal process.
  • Now I prefer clicking on Use Output window so I can see the results of the gacutil output.
Now once you have that setup you can just select the project (from your solution explorer) and goto Tools and run the 'Install to GAC' or 'Remove from GAC' without going to the DOS prompt.

More BizTalk Samples, oh my...

Wed, 05 Jul 2006 12:05:00 GMT

Originally posted on:

Seems like they are making up for the fact that the samples for BizTalk 2004 weren't that great and some never worked at all without massive changes.  Here are the new pile of great samples for BizTalk 2006.  Thanks Luke.  Happy downloading.  Now I just need to find the time to look at these.  Here's the full sample site from Microsoft.