Displaying Enhanced Rich Text in Content Query Web Part

SharePoint has the Content Query web part, which is a control that allows a user to display an aggregated list of items based on some criteria. You can choose to return items from all sites within a site collection or from a specific list; all based on a list type and content type. You also get a few different display options, but if you try to return an Enhanced Rich Text field, that is to say some HTML and CSS Styling, the results are a bit funky. Read More »

Posted in SharePoint, SharePoint 2010, Tips and Tricks, Web Parts | Tagged | Leave a comment

WCF-WebHttp and custom JSON error messages

I’m currently working on a solution that exposes a BizTalk Orchestration as a RESTful webservice using WCF-WebHttp.  Upon successful processing of the message, the service returns binary data for the client to download.  However, if the processing fails, I wanted the service to return application/json data with an error message that would be suitable for consumers – I did not want Stack Traces or other internal details to be provided that could potentially be used by malicious consumers.  Further, I wanted to ensure this information was sent in the same session.

Initially, I created a schema with my sanitized error information, set the Fault Operation Message Message Type to that schema, and enabled “Include exception details in faults.”  While this did end up including my custom error message, it also included the extra information I was trying to avoid.  It also meant always sending back the error reply using HTTP status code 500, which is undesirable if the error is actually in the message submitted.  Finally, the message was being returned in XML, which would be more challenging for my JavaScript-based clients to parse.

To resolve these issues, I created a custom WCF Behavior with three classes.

Read More »

Posted in .NET Framework, BizTalk, Enterprise .NET, JavaScript, User Experience, WCF | Leave a comment

Introducing the T-Connect EDI File Splitter

A common trend that we have been seeing recently is the similarities in the pain points that companies are often faced with.  One of those such pain points is the difficulty in quickly receiving and processing large EDI files having a file size over 10 MB.  In one instance, there was a need to receive a HIPAA EDI 834 Enrollment file totaling 1.3 GB, containing roughly 800,000 enrollments.  The already powerful BizTalk Server in a 1-1 architecture – 1 BizTalk Server, 1 SQL Server, was having difficulty processing the file.  The file would take several hours to process, often taking up several gigabytes of drive space to attempt to disassemble the file using the EdiDisassembler pipeline. Read More »

Posted in Announcements, BizTalk, Enterprise .NET, General, Performance Tuning | Tagged , , , , , , , , , | Comments closed

XLANGs Object Reference Error when dynamically loading a map in BizTalk

This was one of those very frustrating errors that had a very simple solution.  I had an orchestration that was dynamically loading a map using a Fully Qualified Name (FQN) that is stored in BRE.  The exception looked like this:

{ORCHESTRATION_NAME} encountered an error: Object reference not set to an instance of an object.
at Microsoft.XLANGs.Core.Service.ApplyTransform(Type mapRef, Object[] outParams, Object[] inParams)
at {ORCHESTRATION_NAME}.segment3(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

 Many times, this is the result of not deploying your DLL to the GAC, or not having a schema available in the Management Database.  I double checked both of those, and they were there.  I removed them and manually reinstalled them using gacutil, still got the same error.  It finally occurred to me to use reflection on the assembly to see if the FQN was wrong, and that was indeed my culprit.  The class name had .Outbound appended to it, and my orchestration was trying to load a class that ended in .Maps.  I could have changed the FQL in the BRE, but that would have been inconsistent with naming conventions elsewhere in the project.

The source of the error was adding the map to a Solution subfolder in Visual Studio:

BlogPost1

This made the Namespace of the map default to Maps.Outbound:

BlogPost2

Changing the highlighted property to .Maps and rebuilding/deploying fixed the issue.

Posted in .NET Framework, BizTalk, BRE, Enterprise .NET | Tagged , , , , , | Leave a comment

Continuous Integration with TFS and Azure Cloud Services

Microsoft provides a useful tutorial (located here) for running a TFS Continuous Delivery configuration, and automatically publishing to Azure. This tutorial, while instructive, is somewhat out of date, and it may be useful to have a more personalized experience of building such a continuous deployment, while running through the instructions on the tutorial.

As may be the case for others, the TFS server used for running automated builds was already setup and configured, and the project to be built already linked to this server, so I won’t go into that here. The build server is running TFS 2013, and the ASP.NET MVC5 application being built and deployed is running on Visual Studio 2013.

After verifying the functionality of the build server, I created a package build in TFS Team Build. These configuration settings are for the most part self-explanatory, but the exact configuration in the Process page required a little more work:

Read More »

Posted in Architecture and Development, Azure, Cloud | Tagged , , , | Leave a comment

PostSharp Logging and Fundamentals with C#


Introduction
Before we start learning PostSharp we must understand the idea of Aspect Oriented Programming.

Aspect oriented programming, or “AOP”, is the programming style which allows the separation of distinct, independent functions. This inevitably increases code modularity and in turn drives towards cohesive functionality. We tend to classify these distinct functions as cross-cutting concerns due to the fact that they can “cut across” multiple abstractions in a program. These concerns classify the major parts of a whole application such as the business logic, data model or the user interface. These concerns could be broken down even further if need be. This high level of encapsulation is the central concept behind AOP.

Read More »

Posted in 0-Uncategorized | Leave a comment

Solution to Common BizTalk Deployment errors in Visual Studio

There are a few common deployment errors in Microsoft Visual Studio when redeploying a previously deployed BizTalk project.

“Failed to add resource(s). Change requests failed for some resource.  BizTalkAssemblyResourceManager failed to complete end type change request.  Failed to update binding information.  Cannot update receive port “”.  Transform “” not found”

Untitled picture Read More »

Posted in .NET Framework, BizTalk | Tagged , , , , , | Comments closed

User Impersonation with SharePoint

Recently I had to create a custom web part where all users needed the ability to fill out a text box with some feedback and then submit it to a list where it could be reviewed. This is a pretty simple control to implement if the users that will be submitting the form have “Contribute” permissions on the list that the form will be submitted to, but what happens if users with “Read” permissions should also have the ability to fill out the form?

Fortunately, SharePoint makes it super simple to write custom code that can impersonate other users.

Read More »

Posted in Lists and Libraries, SharePoint, Web Parts | Leave a comment

Could not enlist Send Port HRESULT: 0xC00CE557

A quick tip today – I came across an error while trying to enlist one of my send ports while deploying a BizTalk application using the amazing BizTalk Deployment Framework.

“Could not enlist Send Port ‘X’. Exception from HRESULT: 0xC00CE557 (Microsoft.BizTalk.SnapIn.Framework)

Untitled picture

Read More »

Posted in BizTalk | Tagged , , , , , | Leave a comment

Top 5 Free Mobile Application Testing Platforms

The testing phase of mobile development is critical to the success of  any application, and with the multitude of variations in both hardware and operating systems, this stage is arguably the most difficult to manage and execute properly.  Fortunately there are a handful of useful tools that assist with the distribution and testing of mobile applications with the majority of these being free or free try.  Each platform offers a unique set of functionality, so the best way to choose is experimenting with each one.  Here are some of the best mobile testing platforms available today:

Read More »

Posted in Android, iOS, Windows Phone | Tagged | Leave a comment