Things hard and not so hard.... RSS 2.0
# Thursday, March 17, 2011

As you may/may not know native Restful support is a little lacking in BizTalk 2010.

A ‘little’ massaging is needed.

By plugging in a couple of classes into the WCF stack, BizTalk sits in the middle quite nicely.

Netin Mehrotra from MS has come to the rescue – he provides a great walk through article and sample code to boot.

Here’s the REST SAMPLE CODE

Here’s the REST ARTICLE

Enjoy guys.

The alternative is to create your own WCF Service in Windows Server AppFabric hosted in IIS and then you’ve still got the problem of ‘how’ to talk to BizTalk.

Choices…choices… :)

Thursday, March 17, 2011 2:21:25 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
AppFabricServer | BizTalk | 2010
# Monday, March 14, 2011

“Good People talk plans….Great people talk logistics” :)

Thanks Rahul – had to write that one down.

Monday, March 14, 2011 3:30:21 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
General
# Wednesday, March 09, 2011

Firstly thanks for all that attended my 5pm - ‘fireside’ session.

I definitely was a first for me having a session so late in the day. I took my shoes off, wiggled my toes and got into it up on stage.

The session was pretty light and easy to follow along as to get bogged down into the deep technicalities of data storage within SharePoint was going to put all to sleep.

During the session I spoke about (& demo-ed) each approach from Site/Web Property bags, Custom Service Apps, Lists/External Lists Pros and Cons of each – all good.

Here’s my slide deck guys – Enjoy.

image


UPDATED – DEMOS USED IN THE PRESENTATION
DEMOS

Wednesday, March 09, 2011 11:53:37 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [3] -
Events | SPC2011 | SharePoint | 2010
# Sunday, February 27, 2011

Hey folks, Alan Smith and myself (much more Alan this time :) have brought the series back for another version and another year!
Myself and many other Biztalk MVPs and some great BizTalk-ers with fantastic real world experience share their knowledge.

As always the webcast series is designed to be an easy watch, level 200 ish and I’ve even had some folks reporting they watched the needy webcast on the way to clients to talk about for e.g. an EDI solution.

image

BizTalk 2010 Light And Easy Series – here’s where you’ll find the series http://www.cloudcasts.net/Default.aspx?category=BizTalk+Light+and+Easy
(Alan is in the process of uploading them)

  integration with BizTalk 2010 using the BizTalk WSS Adapter.

I created a 2 part episode – the first one deals with explaining the SharePoint 2010 environment, and the 2nd one deals with integration from BizTalk.

Here’s my recordings, PPTs and sample files.

Title WebCast PPT Description
Integration to SharePoint Part 1  Part 1 (110MB)  (2MB)

You will be taken through how SharePoint works, what a user sees, lists and investigating the new APIs present with SharePoint 2010.

This webcast talks about different techniques and how to integrate with SharePoint 2010 efficiently.

Integration to SharePoint Part 2  Part 2 (60MB)  (2MB)

This webcast deals with the installation and setup of the OOTB WSS BizTalk Adapter; examining various Send and Receive configurations within BizTalk and finally you’ll be introduced to a Custom SharePoint 2010 Adapter that uses the SharePoint ClientOM to talk to SharePoint 2010.

Sample Code for Part I and II  



 

Enjoy!

image

Sunday, February 27, 2011 12:27:37 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [4] -
BizTalk | 2010 | Light and Easy Webcasts
# Thursday, February 24, 2011

Over the past months I’ve been reviewing a new BizTalk 2010 book – BizTalk 2010: Integrating Line of Business Systems

There’s a high caliber line up of Author’s all busily sharing their knowledge.

Kent’s got all the details here - http://kentweare.blogspot.com/2011/02/new-biztalk-2010-book-unveiled-line-of.html

Looking forward to when it hits the shelves.

Well done guys – looking great from what I’m reading :)

1902en_mockupcover_normal_0

Thursday, February 24, 2011 9:54:17 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2010

Hi folks, as promised here’s my little slide deck for the presentation given last week. We had a great audience with some very interesting questions.

Thanks all that attended as part of the Microsoft Partner Readiness program. Hope you’re enjoying and feel free to give me feedback as to what you’d like to see more of and less of.

Have fun,

Mick.

image

Slides in ZIP PPT Slide Deck

Thursday, February 24, 2011 2:41:45 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Events | Recordings | Readiness | 2010 | Training
# Wednesday, February 23, 2011

Windows 7 SP1 was released yesterday and after a 1.9GB download I was ready to install.

Or so I thought...

Ran the Upgrade from within my version of Windows 7 x64 on my Fujitsu laptop


After the installation and upon rebooting several times....the upgrade process was at the step of 'starting windows for the first time....' (not quite as this was an upgrade, but if we were installing from scratch that would be it).

I was lovingly greeted by a BSOD STOP 0x0000007B!!!

Going no further - message.

So I downloaded and burnt 'Win7 with SP1' and tried the whole fresh install again - same again. STOP ERROR


Alas....I'm writing this message while I'm re-installing just Win7 x64 without a hitch

Mick is avoiding SP1 like the plague right now!

I'm sure its been tested on a machine with SATA drives :)
Wednesday, February 23, 2011 4:15:23 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
General
# Thursday, January 27, 2011

image

While looking into an authentication problem I discovered this ‘new’ header sent back from a SharePoint 2010 machine.

Health Score? hmmm… I thought, what’s the max and what’s the min values. Is this good/bad? or don’t care?

So SharePoint 2010 has several Throttling features it used such as Client Auto Back-off which predominately when triggered, prioritises HTTP requests – such as HTTP POSTS are non delayed or throttled, but HTTP GETs are and new HTTP connections are throttled.

Here is one MS page that barely describes the Header – could do with updating that one.

SharePoint 2010 determines the health of a server by initially looking at system counters.

Let’s dig further….

Upon Reflecting the classic Microsoft.SharePoint.dll, there’s a Microsoft.SharePoint.Diagnostics section which I thought would be a great place to start. I found a
SPWebFrontEndDiagnosticsPerformanceCounterProvider class (amongst others there’s a SPDatabaseServer class as well)

image

The line above collection[0] = …. refers to the following collection

image

So putting all this together, the performance counters are:

  • WebAppPool - “SharePoint Foundation”
    • Global Heap Size
    • Native Heap Count
    • Process ID
  • OWSTimer & W3WP
    • Private Bytes
  • Processor (_total)
    • Processor Time

It appears the main class behind all of this is
SPHttpThrottleSettings where it appears that the throttling setting is turned off in ‘Single-Server’ deployments.

Digging further I came across the big-daddy class of it all (I think) -

image
SPPerformanceInspector – notice the method IsInThrottling() and the other is 2 constants that describe the displayed Throttled messages.

I also noticed another method on this class SetupRegKeyHealthScore.
Where HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS\ServerHealthScore is the actual value you want to assign.

image

A value of 0 is great, 10 is bad. Over 10 means the server will go into Throttling (letting your clients know as well).

There’s many other things here, but I’ve got to head swimming.

Hope we unraveled this mystery a little more.

Mick.

Thursday, January 27, 2011 4:43:16 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
SharePoint | 2010 | Tips
# Monday, January 17, 2011

I recently came across a SharePoint Portal that previously was working a treat up until Christmas (just gone) and then the client got this on their Create Site Page:

image

So the good old “Parameter name: key” error…that old chestnut I thought (like I had any idea at that stage).
Null – is always an interesting thing. So something is going through a collection and not finding the value, not that they should have tested for the existence of the value first…but we’ll leave that for another story.

Why this was happening now? I haven’t got to the bottom of it, could be an update? security patch? SQL update? code somewhere? I find these things happen on the night before an important release date.

So after sheer luck of me just ‘doodling’ on the Create Site Page, this appears to have fixed it:

image

From the highlighted area – just simply fill in the empty(null) search box EVEN though we are Creating a Site here.

Go figure…

Do I add SharePoint to the Wonders of the World list?

Monday, January 17, 2011 12:33:00 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
SharePoint | 2010 | Tips
# Wednesday, January 12, 2011

clip_image001

Courtesy of the Daily Courier – too good to pass up :)

Wednesday, January 12, 2011 2:46:54 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
General
# Sunday, January 09, 2011

I hope you’ve all been well over the break and enjoying the ‘thinking time’ – I’ve been keeping one ear to the ground and just on the lookout for new bits. Here’s one….

The BizTalk team have been busily working hard over the break and produced another issue of BizTalk at it’s best – BizTalk Hotrod.

image

http://biztalkhotrod.com/Documents/BizTalkHotrod11_Q4_2010.pdf

 

Specifically this issues talks about:

  • Async communication with BizTalk across WCF-Duplex messaging.
  • Calling SAP RFCs from BizTalk – all you need to know.

Guys – the biztalk hotrod mag set is some of the best technical biztalk discussions around, grab the previous issues and add them to your internal networks. A must.

Enjoy and talk to you soon.

Mick.

Sunday, January 09, 2011 10:24:17 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2010 | SAP | Insights | Tips
# Wednesday, December 15, 2010

There I was the other day slowly building up a new bts project in VS.NET.

You know the way it goes, add some schemas, maybe maps and before long you have a couple of helper assemblies and maybe a custom pipeline component or 2.

The problem is that the C# Assemblies don't automatically get added to your BTS Application in the BTS Admin console.

Usually I'll drag down one of my mammoth powershell 'build all' scripts from a previous project and customise this for the current project. 2 days later I usually stick my head up to see which day it is, and typically as we developers do, build a ferrari for something that a skateboard would do.

So simply put - add the following line to your Post Build Events section on your project in VS.NET.

btstask AddResource -ApplicationName:"Micks Demo App" -Type:System.BizTalk:Assembly -Overwrite -Options:GacOnInstall,GacOnAdd -Source:"$(TargetPath)" -Destination:"%BTAD_InstallDir%\$(TargetFileName)"

Ahhh...too easy.

Enjoy only a few more sleeps till Santa!

Mick.

Wednesday, December 15, 2010 4:11:08 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | 2010 | Tips
# Tuesday, November 23, 2010

I came across a great article recently on MSDN - http://blogs.msdn.com/b/biztalk_server_team_blog/archive/2010/10/28/changing-the-game-biztalk-server-2010-and-the-road-ahead.aspx that talks about the role of Cloud integration within the land of BizTalk Integration and what strategies are to be applied.

Enjoy.

Mick.

Tuesday, November 23, 2010 1:10:08 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -

Hi Folks I wanted to let you know about some new BizTalk details with the release of a Feature pack.

The main component of the Feature Pack is to install a new component called ‘BizTalk Server 2010 AppFabric Connect for Services’ – which in essence provides cloud based endpoints for your BizTalk deployments (based on .NET services)

Download from HERE

I’m rolling my up my sleeves and looking further into it.

(There’s an MSDN blog post on it - http://blogs.msdn.com/b/biztalk_server_team_blog/archive/2010/10/21/biztalk-server-appfabric-connect-for-services.aspx of which 2 screen shots below are taken from it)

ACFS-feature

Which gives you Azure/.NET Service Bus WCF bindings seen from within BizTalk of the following:

I haven’t been able to see Queuing support from within the Binding, previously this was custom code that was written when establishing a connection to the .Net Service Bus.
(this gives you the ability to publish msgs out to the ‘bus’ and clients can be either connected or disconnected and when they reconnect, the msgs will flow from their last one.)

Interesting times,

Mick.

Tuesday, November 23, 2010 1:08:31 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -

# Wednesday, November 17, 2010

Hi folks, I’ve got a lot of requests for when/where these are on, so we’re off and running next week in Brisbane with 2 seats left.

Just a quick blurb on the course -


The Breeze SharePoint 2010 Bootcamp has been designed to provide just that. Our customers asked for an in-depth, technical, customized course that, if they were to spend $$s on just one SharePoint  2010 course this year, would give them enough knowledge of the technology to build real world solutions.

These bootcamps have been written for the ITPro & Developer who need to upgrade their SharePoint skills, or are just starting out with SharePoint 2010.

Check them out HERE

Wednesday, November 17, 2010 9:55:16 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Events | SharePoint | 2010 | Training
# Monday, October 25, 2010

Here’s something that I hope to save a few hours to you – InfoPath Forms Services.

I recently ran into this dreaded error – "InfoPath Forms Services is not turned on” when trying to configure it from within SharePoint Central Administration –> General Application Settings.

Forms Services is part of SharePoint Enterprise Services (usually activated via a Farm/Web Application/Site Collection or Site feature) and it relies upon the State Service.

So on our intranet, we’re revamping some InfoPath forms that were working in SP2007 and a new SP2010 using the database detach/attach method saw the intranet up and running…almost…except for this InfoPath Forms Services.

Most posts on the web talk about simply not having the feature enabled for either a Site collection, and/or Central Admin (and various other red herrings in my case)
http://stackoverflow.com/questions/1237956/infopath-forms-services-is-not-turned-on
http://mundeep.wordpress.com/2009/02/17/infopath-forms-services-is-not-turned-on/

Basically my source of truth was SharePoint Manager 2010 (great tool from CODEPLEX) which allows connections to SharePoint via the APIs as a standalone application (tip: make sure you launch it in ‘run in administrator’ mode).

From here I saw that on my install I was missing Forms Services listed in the Farm’s Service Applications
image

I initially thought it was some permissions issue and that I couldn’t see the service under that account (even though I was farm admin), so I launched and checked under the installer account and got the same result.

My next questions were: How does Forms Services become missing? How do you manually install/enable it?

In this case, I had a classroom SharePoint 2010 VM easily available and looking at it through SharePoint Manager, low and behold the Forms Service service was there!! Listed.

The machine I was having trouble with was a standard clean install, that I didn’t automatically run the Configuration Wizard on – as I wanted to have control over the naming of DBs. That was pretty much the difference between the two machines.

So I tried a few things:

a) installing just the InfoPath Web Admin Feature - stsadm -o installfeature -name IPFSAdminWeb –force and then activating it with stsadm -o activatefeature -name IPFSAdminWeb -url http://sp2010:10000 –force (no luck, it just gave me the InfoPath config under the Central Admin)

b) reran the configuration wizard

c) repaired setup

d) tried to run just the InfoPath Forms Services MSI from the install source.

…all to no avail.

InfoPath Forms Services – now with ‘deeper’ integration with SharePoint 2010, an internal service but with no real apparent way of getting to it.

The Answer:
I got thinking and I decided to attempt a backup of the Service from my VM and restore just the Service to the intranet Farm.

- Perform a backup of just the configuration

image

image

Then from there I did a restore (more in hope than anything) such that this process would ‘inject’ the right settings into the Farm Database.

image

At this point anything with InfoPath Forms Services on it was a bonus.

In any rate, here’s the backup file in ZIP format from my VM, that you can use to restore if ever faced with a similar challenge :)

Monday, October 25, 2010 8:02:10 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010 | Tips
# Tuesday, October 12, 2010

Today I decided to crack open the BTS 2010 SharePoint WS Adapter to see if it takes advantage of the great new interfaces exposed by SharePoint 2010, specifically Microsoft.SharePoint.Client.dll and Microsoft.SharePoint.Client.Runtime.dll.

At a glance, the benefits of this new Client APIs are:

  1. Runs on a non SharePoint installed box.
  2. Lightweight and flexible – only get back what you ask for. As opposed to the classic SP Server API that populates the SPWeb collection (for e.g.) only if you just want the title field and not 10MBs worth of other data.
  3. Batch approach – load up several commands and batch them over the wire when needed.
  4. Supports both read/write from the client back to SP Server.
  5. Uses XML and JSON over the wire – small and fast.
  6. We can’t do *everything* we can on the Server Side – e.g. Service Application management, i.e. kicking off a search index crawl.

A little piccy of what’s going on:

image

Some classic piece of code to achieve document library reading:

1 static void Main(string[] args) 2 { 3 ClientContext ctx = new ClientContext("http://intranet"); 4 Web web = ctx.Web; 5 List docs = web.Lists.GetByTitle("Shared Documents"); 6 ListItemCollection items = docs.GetItems(CamlQuery.CreateAllItemsQuery()); 7 ctx.Load<Web>(web); 8 ctx.Load(docs); 9 ctx.Load(items); 10 ctx.ExecuteQuery(); 11 Console.WriteLine("The list has {0} items.", docs.ItemCount); 12 foreach (ListItem item in items) 13 { 14 Console.WriteLine("Item:{0}", item["Title"]); 15 } 16 //delete an item. 17 //items[1].Update(); 18 //items[1].DeleteObject(); 19 //ctx.Load(items); 20 //ctx.ExecuteQuery(); 21 Console.ReadLine(); 22 }

Note: Line 10 is where all the magic happens – if you imagine, we load up the client OM classes and the props etc. are all ‘blank’ until we do an ExecuteQuery() which then populates what we ask for.

The above sample is pretty simple showing how to connect to a document library on a ‘remote’ server (security allowing – I didn’t add a ctx.Credentials=… line in the above, but all possible).

So let’s move on a crack open the BTS 2010 SharePoint WS Adapter…

Just before we go there I’d like to point out that the Microsoft.SharePoint.dll (aka Server API) has the ability to connect to remote servers, although the code needs to be executed on a machine that has a local SharePoint install.

e.g.

SPSite site = new SPSite(“http://remoteserver.acme.com”);

SPWeb web = site.OpenWeb();

What I am trying to avoid with the BTS SharePoint adapter is the need to have the ‘BTS Web Service’ component installed on remote Farms. Just complicates the issue far too much with the SharePoint admins.

The BTS 2010 Story

I setup and installed the BTS SharePoint WS Adapter through the Configuration.exe tool successfully.

Essentially this tools runs a ‘web site check’ to make sure SharePoint is successfully setup and installed.

image

To make this happen, the configuration tool runs either:

  1. Microsoft.BizTalk.KwTpm.StsOmInterop3.exe – for WSSv3
  2. Microsoft.BizTalk.KwTpm.StsOmInterop4.exe – for WSSv4

to determine the site as follows:

image

Note: The URL and note the URL in the BTS Configuration above. Here I’ve already configured the adapter and I’m just showing the commands that the configurator runs behind the scenes.

Once configuration is complete you will see a new virtual directory added  to your selected site e.g. http://intranet.

As shown in IIS Manager.

image

Depending on the SharePoint version this virtual directory will map to:

  1. C:\Program Files (x86)\Microsoft BizTalk Server 2010\Business Activity Services\BTSharePointV4AdapterWS
    or
  2. C:\Program Files (x86)\Microsoft BizTalk Server 2010\Business Activity Services\BTSharePointV3AdapterWS (previous bts2009 adapter)

A Basic BTS/SharePoint picture

Essentially the BTS SharePoint Adapter consists of 2 parts:

  1. A BTS Adapter that talks to the BTS SharePoint WS. This is a ‘classic’ adapter and does not talk the newer WCF framework (which does have advantages and disadvantages)
  2. A BTS SharePoint WS – this does all the work against the SharePoint library and talks local SharePoint APIs.

image

 

Let’s look closer at the BTSharePointV4AdapterWS folder

image

- this folder, or addition needs to be available locally to whichever SharePoint site you are calling through the OOTB BTS SharePoint adapter, even though the SharePoint APIs support remote Servers.

- the bin folder has the Microsoft.BizTalk.KwTpm.WssV4Adapter.WebService.dll which is 78kb.

I wanted to find out whether this DLL used the new SharePoint Client APIs when meant having a peek at the ‘references’ of this DLL in IL.

Dissassembling Microsoft.BizTalk.KwTpm.WssV4Adapter.WebService.dll

Using .NET Reflector I was able to get this picture…

image

NOTE: on this list there is Microsoft.SharePoint, but not Microsoft.SharePoint.Client.dll
(this is not looking good…could be late bound, but… I doubt it)

Digging into the actual WssAdapter class we get the following of note:

image

The GetDocuments(string, string, string, Int32, DocExtOfficeIntegration)… is a key method.

The APIs show that the 1st parameter is a siteUrl (and following the implementation code through) which has the potential to point to another SharePoint server to make the connection (in the RequestInfo class if you’re going to dig yourself :))
Note: the PREVIOUS version, BTS2009 has the same Interface/Method signature and it requires the BTS SharePoint Adapter WS to be deployed on the remote SharePoint Server, even though the signature looks as though it will support the remote server.

So in conclusion the BTS SharePoint Adapter WebService has:

  1. NOT got any newer SharePoint Client API code within in.
  2. The ability to contact a remote server through the WebService APIs.
  3. But depends on whether the BTS Adapter will pass the ‘remote’ URL to the ‘local’ WS, or will the Adapter try to contact the remote SharePoint Server directly looking for a WS there???

I’m thinking it’s the latter…

A little more to unravel the SharePoint mystery…

Tuesday, October 12, 2010 1:08:00 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2010 | Insights | SharePoint | SharePoint | 2010

Today while typing away searching for something with BING in my IE8 I got this little experience…

(I was searching for the Windows Phone 7 SDK… but I got up to ‘wind’ and look what happened :) )

Note: the cloud!!! wow! AND it is raining ‘a bit’ today.

image

Tuesday, October 12, 2010 9:45:07 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
General
# Wednesday, October 06, 2010

I had an interesting gotcha today.

I recently deployed a BTS App and then decided to clean it up and move it to more appropriately named Hosts/Host Instances.

All appeared to work well… I even reinstalled a new MSI AND updated the BTS App bindings…

I have a Dynamic Send Port that I decided to stop for a last change (before telling the business to commence testing) – 10 mins I thought. How wrong

BTS Admin console reported back an error with ultimately the BizTalk.ExplorerOM = grief.

 

There’s a hotfix for BTS2006 - http://support.microsoft.com/kb/932700 for this exact error.

How happy was I that I found this…shame I was working on BTS2009! I downloaded and try to apply the fix on my box, and the hotfix was smart enough to detect I wasnt on bts2006 x86… :(

 

Roll up the sleeves time….

Digging further in the event viewer I noticed 2 entries talking about not being able to connect to the MsgBoxDB and the other not being able to find a stored proc

The following stored procedure call failed: " { call [dbo].[bts_AdminOperatorsStartAndStopService_BTSHOSTNOTTHERE]( ?, ?, ?, ?)}". SQL Server returned error string: "Could not find stored procedure 'dbo.bts_AdminOperatorsStartAndStopService_BTSHOSTNOTTHERE'.".

NOTE: BTSHOSTNOTTHERE = a previous host that was used and was deleted as part of the ‘cleanup’. You’d think that if they were lingering references I shouldn’t have been able to delete this guy.

I tried many things in the admin console and WMI to try and remove this guy… but no go.

After a little digging I went to the BizTalk Management DB and found a table called bts_dynamicport_subids which held the stale info I needed to change.

Here’s the magic… I executed these queries against the Management DB, restarted the BTS Admin Console and we’re back in the game :)

SELECT * FROM bts_dynamicport_subids where nvcHostName=’BTSHOSTNOTTHERE’ UPDATE bts_dynamicport_subids SET nvcHostName = 'BizTalkServerApplication’ Where nvcHostname=’BTSHOSTNOTTHERE’

Now to reclaim that lost time…

Have a great day!

Wednesday, October 06, 2010 11:34:43 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -

# Tuesday, September 28, 2010

image

BizTalk 2010 hit the stands this week and quite prominently up on the BizTalk 2010 site there’s info about vNext.

The team has been busy and The BizTalk 2010 Developer Edition is free! - http://www.microsoft.com/biztalk/en/us/developer.aspx

Lots of info up on the site – What’s New http://www.microsoft.com/biztalk/en/us/whats-new.aspx

  • During this What’s new, you’ll see that there is ‘enhanced Trading Partner Management’ which typically gets flagged under EDI based solutions. In a later post I’ll show you how to work with Trading Partners from any solution, and the bit that has me excited is that we now can store an arbitrary set of name/value pairs against each Trading Partner (and their individual agreements).

 

Initial Training – BizTalk 2010 Training Kit - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=35c8fb51-a1e3-496e-841a-b48701a80c40


The BizTalk Server 2010 training kit includes labs and training videos to help you learn about the new features of BizTalk Server 2010.
This training kit contains the following content:
Hands On Labs

  • Creating BizTalk Maps with the new Mapper
  • Consuming a WCF Service
  • Publishing Schemas and Orchestrations as WCF Services
  • Integrating with Microsoft SQL Server
  • Integrating using the FTP Adapter
  • Developers - Create a Role and Party-based Integration Solution
  • Exploring the New Settings Dashboard
  • Monitoring BizTalk Operations using System Center Operations Manager 2007 R2
  • Administrators - Create a Role and Party-based Integration Solution

 

Enjoy and stay tuned for the integration unraveling in the near future… :-)

Tuesday, September 28, 2010 9:51:07 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2010 | Insights
# Monday, September 20, 2010

The scene looks like this – while teaching a SharePoint 2010 class I decided to build a Feature that used one of the OOTB Service Applications of SharePoint 2010.

image 

I decided to create a PDF Converter ‘Feature’ that used the Word Automation Services hosted in SharePoint 2010. Looking into the Word Automation Services, I’d say that if you’ve already got a PDF creation process going, then stick with it as it appears this service is pretty simple. However if you’ve got nothing, then Word Automation Services will be great!
(Having spent a previous life in a graphics company, there are many options that go with creating just that perfect PDF…I could find none of these here :()

image
(yes the pdf icon needs work…)

So I created a VS.NET 2010 Solution with a Feature.
image

The PDFConverter.cs is where the crux of the work is – the rest of the solution is working out just the right spot to call it.

Couple of Interesting Points about the Solution

1. ScriptLink – using this from a CustomAction within an Elements file allows to inject Script into a site where the Feature is Activated. There is also ScriptBody that allows you to inject script code right there.

2. RegistrationType – being declared as a FileType, currently this will work with docx. Feel free to experiment and extend out.
Also, seeing this action is activated on a list item, we need to track what list it came from {ListId} and the item in that list {ItemId} which is an integer.

1 <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 2 <CustomAction Id="MicksPDFScript" 3 ScriptSrc="~site/_layouts/WordAutomationServices/Scripts/MoveItMoveIt.js" 4 Location="ScriptLink"> 5 </CustomAction> 6 7 <CustomAction Id="MicksPDFConverter" 8 RegistrationType="FileType" 9 RegistrationId="docx" 10 Location="EditControlBlock" 11 Sequence="106" 12 Title="Convert to PDF" 13 ImageUrl="~site/_layouts/WordAutomationServices/Images/pdf.gif" 14 > 15 <UrlAction Url="javascript:MicksOpenDialog('{ListId}','{ItemId}');"/> 16 </CustomAction> 17 18 </Elements> 19

3. Code that actually does the work – is pretty simple really with Folders and entire Document Libraries able to be passed to the Conversion Job.
One annoying thing is that below in Line15, conversionJob.Start() is called, really a job gets created and added to the Job Timer queue. Regardless of what goes on, the Started property always returns true.

Typically I’ve found the Timer Job to kick in every 5 mins to process the conversions and eventually a PDF file is seen in the library.

1 public bool Convert(string srcFile,string dstFile) 2 { 3 4 //create references to the Word Services. 5 var wdProxy = (WordServiceApplicationProxy)SPServiceContext.Current.GetDefaultProxy(typeof(WordServiceApplicationProxy)); 6 var conversionJob = new ConversionJob(wdProxy); 7 8 conversionJob.UserToken = SPContext.Current.Web.CurrentUser.UserToken; 9 conversionJob.Name = "Micks PDF Conversion Job " + DateTime.Now.ToString("hhmmss"); 10 conversionJob.Settings.OutputFormat = SaveFormat.PDF; 11 conversionJob.Settings.OutputSaveBehavior = SaveBehavior.AlwaysOverwrite; 12 13 conversionJob.AddFile(srcFile, dstFile); 14 15 conversionJob.Start(); 16 return (conversionJob.Started); 17 18 }

A couple of screen shots in action:

image

image

image

Of course this is not production ready, but it should give you a great start in getting there. To start, simply install and Activate the Feature on a site collection to see the functionality.

Go to a document library and activate the item drop down to see the Convert to PDF option. Must be a DOCX file currently.

Grab the VSNET2010 Solution and go for it – have fun.

Monday, September 20, 2010 9:06:48 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
.NET Developer | SharePoint | 2010

The other day I had a need to create many word documents in code and publish them up to a SharePoint 2010 site.

1 static void Main(string[] args) 2 { 3 int iMAXDocs = 200; 4 string fpath = Path.Combine(Directory.GetCurrentDirectory(), "Docs"); 5 Directory.CreateDirectory(fpath); 6 Console.WriteLine("Path created"); 7 for (int i = 0; i < iMAXDocs; i++) 8 { 9 string docname = Path.Combine(fpath, "Doc" + i.ToString() + ".docx"); 10 CreateWordDoc(docname); 11 Console.WriteLine("Created Doc {0} of {1}", i, iMAXDocs); 12 } 13 14 }

So essentially it went something like that…with the key really being line#10 – CreateWordDoc(…). The CreateWordDoc routine also adds a couple of custom String properties to the document.

1 private static void CreateWordDoc(string docname) 2 { 3 using (WordprocessingDocument package = 4 WordprocessingDocument.Create(docname, WordprocessingDocumentType.Document)) 5 { 6 // Add a new main document part. 7 package.AddMainDocumentPart(); 8 9 // Create the Document DOM - which could be from a template XML file or so. 10 package.MainDocumentPart.Document = 11 new Document( 12 new Body( 13 new Paragraph( 14 new Run( 15 new Text("Hello World!"))))); 16 17 //add props. 18 CustomFilePropertiesPart pt = package.CustomFilePropertiesPart; 19 if (pt==null) 20 pt = package.AddCustomFilePropertiesPart(); 21 22 XmlDocument xdoc = new XmlDocument(); 23 xdoc.LoadXml("<Properties xmlns='http://schemas.openxmlformats.org/officeDocument/2006/custom-properties' " 24 + "xmlns:vt='http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'>" 25 + "<property fmtid='{D5CDD505-2E9C-101B-9397-08002B2CF9AE}' pid='2' name='temp'> " 26 + "<vt:lpwstr>Done in Open XML</vt:lpwstr>" 27 + "</property>" 28 + "<property fmtid='{D5CDD505-2E9C-101B-9397-08002B2CF9AE}' pid='3' name='micksdemo'>" 29 + "<vt:lpwstr>SharePoint is Cool</vt:lpwstr>" 30 + "</property>" 31 + "</Properties>"); 32 33 //save the props 34 xdoc.Save(pt.GetStream()); 35 36 // Save changes to the main document part. 37 package.MainDocumentPart.Document.Save(); 38 39 } 40 }

All in all pretty straight forward using OpenXML Format SDK 2.0

Here’s the VS.NET2010 Solution of the above code -

Monday, September 20, 2010 1:44:10 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010
# Sunday, September 19, 2010

With Microsoft close to releasing BizTalk 2010 (the 7th release) your local BizTalk techies & trainers have put our heads together – big thanks to BizTalk Bill for being instrumental in getting this off the ground!

clip_image001

Starting from October the fun begins. BizTalk 2010 training will be on in a city near you!

The event will be a Saturday event in many cities around Australia and New Zealand showcasing the new features of BizTalk Server 2010.  The day will consist of short talks about the new feature and then hands on labs to allow you firsthand experience with the new features.

Cost: $200 per person (to cover a couple of flights and food)

Further details can be found HERE – BizTalk Saturday

Sydney

Saturday, October 16, 2010

 

The agenda for the day can be found here

To Register for the event click here

 
Sunday, September 19, 2010 9:40:56 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2010 | Events | Training
# Monday, August 30, 2010
Hi folks, an email floated across my desk from Tim Wieman today tell me about a new AppFabric CAT blog.

Thanks Tim.
--- snippet ---

Recently as part of building the Windows Server AppFabric Customer Advisory Team (or AppFabric CAT for short).  This team brings under one “virtual roof” others like me from the team formerly known as the “BizTalk Rangers”, plus other technology experts in Windows Server AppFabric, AppFabric Caching, WF, WCF, StreamInsight, EF, etc.


The new team blog is our commitment to deliver technical guidance and share best practices with the rest of the world-wide community.  We are also working on the AppFabric CAT portal, a brand-new web site that will serve the purpose of the “one-stop shop” for all the great deliverables that our team will be producing for the community going forward (similar to sqlcat.com).
 
Please check out our team blog at http://blogs.msdn.com/appfabriccat.

Monday, August 30, 2010 1:50:58 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
AppFabricServer | BizTalk | 2010
# Friday, August 27, 2010

Integration - Course Agenda

Well as TechEd 2010 draws to a close this year in Australia, I had a great time getting away from it all and certainly experiencing a couple of firsts. For me this was one of the better TechEd’s I had been to – the sessions were a little light on, but the labs + exams made up for that big time.

So Scotty and I developed an Integration Pre Conference Training Session aimed at working out which MS Integration technology to run where – unscrambling the mess. We got a great turn out for the training in terms of numbers – we beat SharePoint 2010 dev + admin!!! :)

For all of you whom I had the pleasure of training this week – well done! I hope you enjoyed it and it was great sharing that time with you. The sun, sand, BizTalk and Azure…what could be better?? :)

As promised – here are the slides from those two days.

Keep smiling,
Mick.

Friday, August 27, 2010 2:40:00 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
AppFabricServer | Azure | BizTalk | Events | 2010 | 2010
# Friday, August 13, 2010

Well folks, after a recent week of performance issues running a SharePoint 2010 VM image (40GB) on Virtual Box (v3.0.14 & v3.2.8) Olaf (a fellow Breezer) and I sat down and put our thinking caps on as how to improve things.

- Hyper-V wasn’t an option due to classroom setups and portability issues.

After scouring the forums, posts, blogs and other to see how to squeeze every last bit of performance from Virtual Box – I’ve come to the conclusion that current versions just don’t take full advantage of Core i7 architectures, hence they run dog slow (1 virtual cpu seems to run better than multiple).

Enter VMWare – I’m relatively new to the world of VMWare, although others on my team swear by it.

So I downloaded VMWare Player (free) image

And configured a Virtual Machine (or two)

image

So the issue is (as I’m sure you’re well aware if you’re reading this), is that booting up Windows 2008 R2 (in my case), the native disks are SCSI and we get the dreaded Inaccessible Boot Device error (stop 0x7B).

(Back in WinXP, Win2000 & Win2003 (I think) there *used* to be a recovery option that you could repair my boot environment and it would ‘rediscover’ all the disks etc and you’d be on your way)

The aim is boot into Windows, allow it to discover, load and install the VMWare SCSI drivers (from LSI…) and then in theory you’re good to go.

After drilling down through the VMWare forums (a foreign place for me), there’s a few articles on ‘injecting drivers’ into the system, startup etc – none of these techniques worked for me (I booted to Repair window and ran regedit to ‘tweak’ some startup registry keys).

Still stuck and after many hours we noticed that CD/DVD (IDE) was an available device on the system as follows:

image

I thought “I wonder if I can attach the VHD as an IDE??”

After locating the VMWare VM config file – a *.VMX file I saw a couple of entries…

ide1:0.present = "TRUE"
ide1:0.filename = “…MicksBootIso.iso”

 

So I thought, let me try

 

ide1:0.present = "TRUE"
ide1:0.filename= "D:\VHDs\VHDs\SharePoint2010_v2_Child.vhd"

 

image


Saved and booted up like a bought one!

So for now…this works fantastically AND THE PERFORMANCE is at least 3-4 times faster than Virtual Box for this image. Just really snappy!

Here’s a sample file attached – enjoy.

Windows Server 2008 R2 x64.zip (1.12 KB)
Friday, August 13, 2010 5:10:29 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | General | SharePoint
# Wednesday, July 28, 2010

Olaf and I were cracking away on some SharePoint 2010 work which we thought should be simple…point SPMetal to the site and start LINQ-ing to our hearts content…..

with the one exception that we couldn’t select items from a list based on their Content Type.

By default SPMetal.exe doesn’t include these ‘system’ fields (apart from ID + Title – go figure) and the secret is to use an Override file.

The good oil is:http://msdn.microsoft.com/en-us/library/ee535056.aspx
(Here’s a good article on how .NET Types are mapped to SharePoint - http://msdn.microsoft.com/en-us/library/ee536245.aspx)

The simple override/parameters file:

<Web AccessModifier="Internal" xmlns="http://schemas.microsoft.com/SharePoint/2009/spmetal">
  <ContentType Name="Item" Class="Item">
    <Column Name="ContentType" Member="ContentType" />
  
  </ContentType>
 
</Web>

 

The SPMetal Command Line

image

The VS.NET Code

 static void Main(string[] args)
        {
            using (BreezeDataContext dc = new BreezeDataContext("http://breezelocal"))
            {
                var myitems = from i in dc.GetList<ContentListTraining>("My Content List")
                              where i.ContentType == "Training"
                              select i;
                var courses = myitems.ToList<ContentListTraining>();

                Console.WriteLine("There are {0} items",courses[0].Title);
                   
            }

            Console.ReadLine();
        }
Wednesday, July 28, 2010 6:10:19 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | SharePoint | 2010 | Tips
# Wednesday, July 21, 2010

Hey folks,

As we’re all aware there’s more than one road that leads to Rome when dealing with integration. When to use SSIS? For what? What about MSMQ? AppFabric and BizTalk etc.

At TechEd this year I’ve decided to run some preconference training dealing with this exact issue across many different Microsoft Integration Technologies.
(This is one of the biggest questions I get from customers)

If you’re heading to the Gold Coast this year, then this training is before TechEd – get up a couple of days early and then be fully charged and armed with all your questions….

---- here’s the official blurb----

When to use what Technologies Where [LINK is Here]

AppFabric, Azure Storage, BizTalk 2010, BizTalk Adapter Pack, WCF, WF, Oslo, MSMQ, .NET4 Distributed Caching, SQL Service Broker, SSIS and SharePoint 2010 Service Applications...to name a few technologies to be confused about.

There is no silver bullet for application integration. Different situations call for different solutions, each targeting a particular kind of problem. While a one-size-fits-all solution would be nice, the inherent diversity of integration challenges makes such a simplistic approach impossible. To address this broad set of problems, Microsoft has created several different integration technologies, each targeting a particular group of scenarios.  

Together, these technologies provide a comprehensive, unified, and complete integration solution.

Come on a 2-day adventure examining each of these technologies and reviewing the When, Why's and How's on each, with their own distinct role to play with integrating applications. When you come through the other side you'll be able to slot each of these technologies into a *practical* use.

This developer workshop is based on real world examples, real world problems and real world solutions.

Join me and be prepared to roll up your sleeves and unravel the maze that awaits....

TECHED LINK

Wednesday, July 21, 2010 2:46:36 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [5] -
AppFabricServer | BizTalk | 2010 | Oslo | 2010 | Training
# Friday, July 16, 2010

I’m in the process of planning a SP2007 to SP2010 ‘migration’ moving over the content database and other web artifacts.

I was making sure all things were ticked off and available in the new SP2010 environment such as – additional external scripts, paths, externally accessible images, webparts + flash movie files.

Migrated over – fired up the browser and after some minor tweaking most things came over, except for the flash movies.

The flash movie was not being displayed.

So naturally you think – must be a path, permission, activeX, flash object declaration, upload or even a masterpage might need a tweak…

Fired up FireBug in firefox and went to work – we could access the *.swf file directly from within the browser, but when the Page loaded with the link in there… no go.

In fact we got a ‘304 not modified’ response within FireBug – which seems pretty normal if the flash player already has the movie locally and it’s just comparing the server version versus the local…but still no flash playing.

SharePoint 2010 Web Applications restrict ‘active’ content – aka Flash out of the box.

After some digging and a seemingly unrelated option appeared in Web Application –> General Settings.
Browser File Handling - Default setting: STRICT

This was the culprit, setting this to permissive did the trick.

image

Wow! Have a great weekend folks!

Friday, July 16, 2010 1:51:43 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010 | Tips
# Monday, July 12, 2010

Breeze SharePoint 2010 Bootcamp

The Breeze SharePoint 2010 Bootcamp is here!

 

 
Breeze SharePoint 2010 Bootcamps – Building Real World Solutions

The eagerly anticipated SharePoint 2010 Bootcamps are underway in Australia, and here’s what some of the excitement is about. Technical training this year is all about value for money. After the change in the economy, customers are more careful about where their training budget is being allocated. This year, customers need technical training that is relevant and an investment to their business. They are looking for knowledge that will improve business efficiencies, provide real world scenarios and give students the confidence to be hands-on when they leave the classroom.

The new Breeze SharePoint 2010 Bootcamp has been designed to provide just that. Our customers asked for an in-depth, technical, customized course that, if they were to spend $$s on just one SharePoint  2010 course this year, would give them enough knowledge of the technology to build real world solutions.

These bootcamps have been written for the ITPro & Developer who need to upgrade their SharePoint skills, or are just starting out with SharePoint 2010.

Be ready to roll up your sleeves and start your adventure here.

Sydney: 2nd August 2010

Price: $3450 ex GST

Register NOW: info {at} breeze {d.o.t.} net

*Quote this blog article to receive a special promotion.

Enjoy,

Mick.

p.s. anyone seen the octopus…I’ve got destiny with it….

Monday, July 12, 2010 11:21:46 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010 | Training
# Wednesday, July 07, 2010

Folks this is too good to be left out…

There’s an Octopus named ‘Paul’ that’s predicted 5 from 5 of Germany’s last results (wins + losses), with his previous success rate for the Euro 2008 being 80% where he wrongly predicted Germany would beat Spain and Spain won.

Now, with the Semi finals very close, the Octopus has predicted Spain to win.

Essentially his prediction is – they drop 2 cubes each with the nations flag on it, and in the cubes they have his ‘dinner’ (a muscle). The cube he opens the lid to first and eats the muscle is his prediction.

http://www.abc.net.au/news/video/2010/07/07/2946732.htm

Let’s see how he fairs tomorrow morning (my time).

octopus

germanyvEng

germanoctopus2

germanyvSpain

Wednesday, July 07, 2010 8:29:14 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
General
# Tuesday, June 22, 2010

Sorry I’ve been quiet folks – I’ve been sleep deprived, not really knowing which day is what and…I guess it’s like having a new born again. :)

My extended family is English and they sent through a cracker….

photo

See you soon,

Mick.

Tuesday, June 22, 2010 10:17:10 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Events | General
# Sunday, May 23, 2010

As you know I’m a big fan of Virtual Box being able to run my x64 VMs on my Win7 machine. Yay!!

So armed with my trusted new Core i7/8 GB laptop – I figured the VMs will be cooking on this new kit…

After installing the lastest VirtualBox (3.2.0) I was away – only to notice the machines were running like a SLUG! (I actually have a cat that has the nick name ‘slug’ and this machine was slower than her)

After waiting a full 20mins (still booting - ‘loading windows files…’ etc) my machine Blue Screened for a millisecond and then rebooted.

So I rolled up my sleeves and started digging – could be the VHD, the bios, the machine, the 1000 and 1 settings…

Firstly I ran a command line command (from under the vbox install dir) -
VBoxManage setextradata VMNAME "VBoxInternal/PDM/HaltOnReset" 1

Finally I got a glimpse of the BSOD and it was an error “…STOP…7B…”

I twigged this is an error of “Inaccessible boot device….” which I’ve had several times when the SATA drivers couldn’t be loaded by the O/S during boot up.

Solution: (in my case)
I configured the Virtual Box VM with IDE Storage Controllers and NOT SATA ones for the bootup.(still connected to the same VHDs though)

Win2008/R2 boots up and I’m able to load the SATA drivers in and we’re away.

Back to BizTalk 2010 Beta playing…. :)

Sunday, May 23, 2010 9:53:47 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | 2010 | Tips
# Wednesday, May 12, 2010

Wow! I'm finally through the other side... what a quest and I thought I'd share some of the details with you.

RFC_READ_TABLE rfc can be used to call into SAP and retrieve table data - *sort of* (and that's a big sort of) like a 'DataSet'.

Using it requires a little work and understanding.

In your either BizTalk project or other project from VS.NET:

  1. Add the SAP bits to your VS.NET project - ready for action
    1. select 'Add Adapter Service Reference' (for BTS projects -> Add New Generated Item->Consume Service Adapter...)
    2. On the Binding Wizard Screen select sapBinding and configure the appropriate connection string details such as:

      string sapUri = "sap://CLIENT=800;LANG=EN;@A/sapsrv/00?GWHOST=sapsrv&GWSERV=sapgw00&RfcSdkTrace=true";
      <You need to stick your own sapURI above - that is more or less a sample>

    3. Click on the Connect and under RFC->OTHER , select RFC_READ_TABLE (or you can type it in the box to search)
    4. Click Ok to generate the proxy and other details.
    5. Either your BizTalk Project or your non-BTS project has now all the relevant details to communicate to SAP.

      I tend to build out all this functionality first in a Console App just so I know what is needed within the BTS environment, also I find it much quicker to test/debug etc. here.
  2. Ok - onto the code. I've got 2 routines for you, one that uses the Proxy Classes built by the wizard in the last step, and a routine from 'first principles'.

    One of the things that I really like about the BTS Adapter Pack and certainly in this case, is that depending on the shape of the XML you pass to the adapter, it determines the table and type of operation that it is to do.

    Both of these examples below you could wrap into a functoid/helper/whatever and use directly from code.
  3. Proxy Code - version 1 - here I define some parameters and make a straight call to the table CSKS.
    NOTE: Use FieldNames not Field Labels (took me a few hrs on that one ;)

    using LOBTYPES = microsoft.lobservices.sap._2007._03.Types.Rfc;

    private static void GetDataFromSAP()

        
    RfcClient clnt = new RfcClient(); //myproxy client
        
    string[] data = GetAppDetailsForCurrentUser("SAP");
         clnt.ClientCredentials.UserName.UserName = data[0];
         clnt.ClientCredentials.UserName.Password = data[1];
         LOBTYPES.
    TAB512[] rfcData = new microsoft.lobservices.sap._2007._03.Types.Rfc.TAB512[0];
         LOBTYPES.
    RFC_DB_OPT[] rfcOps = new microsoft.lobservices.sap._2007._03.Types.Rfc.RFC_DB_OPT[0];
         LOBTYPES.
    RFC_DB_FLD[] rfcFlds = new microsoft.lobservices.sap._2007._03.Types.Rfc.RFC_DB_FLD[]
         { 
             n
    ew LOBTYPES.RFC_DB_FLD() {
             FIELDNAME =
    "KOSTL",
             LENGTH=10
             },
            
    new LOBTYPES.RFC_DB_FLD() {
             FIELDNAME =
    "DATBI",
             LENGTH=8
             },
            
    new LOBTYPES.RFC_DB_FLD() {
             FIELDNAME =
    "DATAB",
             LENGTH=8
             }
         };
    try
    {
      clnt.Open();
      clnt.RFC_READ_TABLE(
    ";", string.Empty, "CSKS", 50, 0,ref rfcData, ref rfcFlds, ref rfcOps);
      Console.WriteLine("RFC RESPONSE\r\n\r\nData:" + rfcData.Length.ToString());
    }
    catch (Exception ex)
     {
       Console.WriteLine("ERROR: " + ex.Message);
     }
    }

  4. More from first principles so this is to give you more of a BTS picture.
    NOTE: The use of the '%' sign to get a wildcard match on a KOSTL field, despite in the SAP Client UI the users enter a '*'

    private static void GetDataFromSAPV1()
    {
        string[] data = GetAppDetailsForCurrentUser("SAP");
        SAPBinding binding = new SAPBinding();  //A reference to Microsoft.Adapters.Sap is needed.
        //set up an endpoint address
       
    string sapUri = "sap://CLIENT=800;LANG=EN;@A/sapsrv/00?GWHOST=sapsrv&GWSERV=sapgw00&RfcSdkTrace=true";
        EndpointAddress address = new EndpointAddress(sapUri);
       
    try
        {
            ChannelFactory<IRequestChannel> fact = new ChannelFactory<IRequestChannel>(binding as Binding, address);
            // add credentials
            fact.Credentials.UserName.UserName = data[0];
            fact.Credentials.UserName.Password = data[1];
            // Open client
            fact.Open();
            //get a channel from the factory
            IRequestChannel irc = fact.CreateChannel();
            //open the channel
            irc.Open();
            string inputXml = "<RFC_READ_TABLE xmlns='http://Microsoft.LobServices.Sap/2007/03/Rfc/' xmlns:ns1='http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/'>"
           
    + "<DELIMITER>|</DELIMITER>"
            + "<QUERY_TABLE>CSKS</QUERY_TABLE>"
            + "<ROWCOUNT>10</ROWCOUNT><ROWSKIPS>0</ROWSKIPS>"
            + "<DATA /><FIELDS>"
            + "<ns1:RFC_DB_FLD><ns1:FIELDNAME>KOSTL</ns1:FIELDNAME></ns1:RFC_DB_FLD>"
            + "<ns1:RFC_DB_FLD><ns1:FIELDNAME>DATAB</ns1:FIELDNAME></ns1:RFC_DB_FLD>"
            + "<ns1:RFC_DB_FLD><ns1:FIELDNAME>DATBI</ns1:FIELDNAME></ns1:RFC_DB_FLD>"
            + "</FIELDS>"
            + "<OPTIONS>"
            + "<ns1:RFC_DB_OPT><ns1:TEXT>KOSTL LIKE '1234%' AND BUKRS EQ '63' AND KOKRS EQ 'APPL'</ns1:TEXT></ns1:RFC_DB_OPT>"
            + "</OPTIONS>"
            + "</RFC_READ_TABLE>";
            //create an XML reader from the input XML
            XmlReader reader = XmlReader.Create(new MemoryStream(Encoding.Default.GetBytes(inputXml)));
            //create a WCF message from our XML reader
            Message inputMessge = Message.CreateMessage(
                         MessageVersion.Soap11,
                         http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_READ_TABLE,
                         reader);
            //send the message to SAP and obtain a reply
            Message replyMessage = irc.Request(inputMessge);
            //create a new XML document
            XmlDocument xdoc = new XmlDocument();
            //load the XML document with the XML reader from the output message received from SAP
            xdoc.Load(replyMessage.GetReaderAtBodyContents());
            XmlNodeList nds = xdoc.DocumentElement.SelectNodes("//*[local-name()='WA']");
            foreach (XmlNode nd in nds)
            {
                    string[] parts = nd.InnerText.Split('|');
                    Console.WriteLine("CC={0} From: {1} To: {2}", parts[0], parts[1], parts[2]);
             }
             xdoc.Save(
    @"d:\sapout.xml");
             irc.Close();
             fact.Close();
        }

    catch (Exception ex)
    {
             Console.WriteLine("ERROR: " + ex.Message);
    }
    }


Wednesday, May 12, 2010 3:54:57 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | BizTalk Adapter Pack | SAP
# Saturday, April 24, 2010

Well if you’re cracking on and updating your SharePoint Beta 2 Installs to RTM and wanting to make it out the door while there’s some daylight left…then you’re better than me…right now it’s dark! :)

Ok – so I figured, no probs just do a stsadm –o addcontentdb … and we’re well on our way, exactly the same from Beta 1 to Beta 2.

This time SharePoint RTM doesn’t want to play. I got this error:

Sequence [Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence] cannot upgrade
an object [SPContentDatabase Name=WSS_Content_Int2010] whose build version
[14.0.4536.1000] is too old. Upgrade requires [14.0.4730.1000] or higher.

So as you can see the Version numbers of my Beta2 ContentDB is close, but RTM is not playing.
 
I thought I’d take a punt and see what happened:
  1. Open up the ContentDB in SQL Management Studio and open up the Tables folder.
  2. Locate the Versions Table (down the bottom).
  3. Open the Versions Table in Edit Mode and modify the Rows which have a Version=14.0.4536.1000 next to them.
  4. Simply change the version number to 14.0.4730.1000
  5. Save the changes
  6. Rerun the stsadm –o addcontentdb command and bob’s your uncle.

The ContentDB I used here was 18GB in size and all has come up trumps.

This may save you a bit of time and sure it’s a hack, but we’re now in RTM land.

Good luck :)

 
 

image

Saturday, April 24, 2010 10:13:39 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010

I’ve just spent the past couple of days looking into the ‘upgrade’ process and I’ve come out the other side. Here’s a quick jot down of what I encountered

  1. Environment: Single WFE (Win2K8 R2 x64) and a separate SQL 2008 x64 'backend’. Currently running SP2010 Beta2 with content databases around 13GB
  2. I haven’t uninstalled any of the existing SP2010 beta 2 bits – this is a VM and I have a handy backup, so in case of emergency break glass was my plan b.
  3. Launched Setup.bat – up came the intro screen and I selected Install PreReqs. In my case the prereqs failed their first installed with it grumbling about the IIS Web Role not present (but this was an existing SP2010 server, so obviously the Web Role was present and correctly running).

    Ran the PreReqs again and all was fine :)
  4. Setup.exe – launched the product, provided a license key and we ran all the way through no problems. Interestingly thRege installer didn’t mention anything like “…I found a previous version of SharePoint do you want to …”
  5. Configuration Wizard – this is where my trouble started.
    1. As the Wizard was launching, it appeared not to be able to recognise the fact that we were already in a farm. It was like we were running on a machine, where the DB Server wasn’t accessible.

      I ‘removed’ the Server from the Farm (which were the only options in the Wizard for me)
    2. Re-ran the Wizard Take#2, supplied the details at the beginning, Server Farm etc etc and sent it on it’s way.
    3. The Wizard ran up to step 3 of 10 (where it configures the Farm DB + creates the SharePoint Web Services IIS Site) and then FAILED. What I noticed that the FarmDB was created successfully, but the IIS side was failing.
      (The error logs spoke about a socket based error – which I think was unrelated)
    4. Tweaking, rerunning the Wizard didn’t fix things…so here’s my fix….
    5. I also uninstalled SP2010 RTM a few times and reinstalled, but same error
  6. The fix -
    1. Delete the \14 hive
    2. Delete the Registry Key (and all under it) HKLM\Software\Microsoft\Shared Tools\Web Server Extensions
    3. Uninstall/reinstall the IIS Web Role on the Server
  7. Repair the SharePoint install from rerunning Setup.exe – repair option. (you might be able to leave this step out, but I deleted the Web Server Extensions key after I installed SP2010, so I needed it to be rewritten)
  8. Run Config Wizard
  9. Upgrade any Content DBs you want to mount – through stsadm –o addcontentdb or Mount-ContentDB (powershell)

I’m sure you’ll be able to shorten this list of steps when you upgrade, but I’ve got to get on and configure this environment.

Have fun,

Mick.

Saturday, April 24, 2010 9:31:07 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010
# Thursday, April 22, 2010

Well folks we are partnering with Education leaders in the APAC region Excom to deliver to you our Breeze SharePoint 2010 Bootcamp.

I’ve recently come out of that code cave…the place which I’m sure a lot of us know all too well. I discovered people…and conversations again :)

We’ve put together 13 modules of original material and labs to match based on real world examples. For e.g. Integrating with Oracle EB from SharePoint 2010 via the BizTalk Adapter Pack (being a BTS MVP I couldn’t resist that one).

I ran a course in Melbourne the week before last and it was a solid week which the students loved with the average score for the course being 8.2 (with 9 being the top)

Our next city is Sydney this coming month and I’ve managed to grab a couple of seats for you.

To Register in a city near you – click here

 

image

Thursday, April 22, 2010 9:01:58 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010 | Training
# Monday, April 19, 2010

May 12th has always been the big date for the release of the products, the icons will be all completed (no more purple dots) questions about performance (how many, how big, how fast…) can all start to be answered in the real world about lists and list sizes.

The Launch of Office 2010 and SharePoint 2010 is due on May 12th.

Those on MSDN and TechNet will get access on April 22nd to start downloading.

image
image

Monday, April 19, 2010 4:08:41 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Office | SharePoint | 2010
# Tuesday, April 06, 2010

In true SharePoint fashion, I’ve updated the common lightup.xml file for SharePoint 2010.

Some things that are missing from below is an Admin link – I’ll update shortly as I’ve got to get back to a lab I’m finishing writing.
(note I’ve added ~sitecollection below, as all the samples I’ve seen leave this out)

Enjoy and happy Easter all.

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <!-- Document Library Toolbar New Menu Dropdown -->
  <CustomAction Id="UserInterfaceLightUp.DocLibNewToolbar"
    RegistrationType="List"
    RegistrationId="101"
    GroupId="NewMenu"
    Rights="ManagePermissions"
    Location="Microsoft.SharePoint.StandardMenu"
    Sequence="1000"
    Title="MY DOCLIB NEW MENU TOOLBAR BUTTON">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?NewMenu"/>
  </CustomAction>
  <!-- Document Library Toolbar Upload Menu Dropdown -->
  <CustomAction Id="UserInterfaceLightUp.DocLibUploadToolbar"
    RegistrationType="List"
    RegistrationId="101"
    GroupId="UploadMenu"
    Rights="ManagePermissions"
    Location="Microsoft.SharePoint.StandardMenu"
    Sequence="1000"
    Title="MY DOCLIB UPLOAD MENU TOOLBAR BUTTON">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?UploadMenu"/>
  </CustomAction>
  <!-- Document Library Toolbar Actions Menu Dropdown -->
  <CustomAction Id="UserInterfaceLightUp.DocLibActionsToolbar"
    RegistrationType="List"
    RegistrationId="101"
    GroupId="ActionsMenu"
    Location="Microsoft.SharePoint.StandardMenu"
    Sequence="1000"
    Title="MY DOCLIB ACTIONS MENU TOOLBAR BUTTON">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?ActionsMenu"/>
  </CustomAction>
  <!-- Document Library Toolbar Settings Menu Dropdown -->
  <CustomAction Id="UserInterfaceLightUp.DocLibSettingsToolbar"
    RegistrationType="List"
    RegistrationId="101"
    GroupId="SettingsMenu"
    Location="Microsoft.SharePoint.StandardMenu"
    Sequence="1000"
    Title="MY DOCLIB SETTINGS MENU TOOLBAR BUTTON">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?SettingsMenu"/>
  </CustomAction>
  <!-- Site Actions Dropdown -->
  <CustomAction Id="UserInterfaceLightUp.SiteActionsToolbar"
    GroupId="SiteActions"
    Location="Microsoft.SharePoint.StandardMenu"
    Sequence="1000"
    Title="MY SITE ACTIONS BUTTON">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?SiteActions"/>
  </CustomAction>
  <!-- Per Item Dropdown (ECB)-->
  <CustomAction
    Id="UserInterfaceLightUp.ECBItemToolbar"
    RegistrationType="List"
    RegistrationId="101"
    Location="EditControlBlock"
    Sequence="106"
    Title="MY ECB ITEM">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?ECBItem"/>
  </CustomAction>
  <!-- Display Form Toolbar -->
  <CustomAction
    Id="UserInterfaceLightUp.DisplayFormToolbar"
    RegistrationType="List"
    RegistrationId="101"
    Location="DisplayFormToolbar"
    Sequence="106"
    Title="MY DISPLAY FORM TOOLBAR">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?DisplayFormToolbar"/>
  </CustomAction>
  <!-- Edit Form Toolbar -->
  <CustomAction
    Id="UserInterfaceLightUp.EditFormToolbar"
    RegistrationType="List"
    RegistrationId="101"
    Location="EditFormToolbar"
    Sequence="106"
    Title="MY EDIT FORM TOOLBAR">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?EditFormToolbar"/>
  </CustomAction>
  <!-- Site Settings -->
  <CustomAction
    Id="UserInterfaceLightUp.SiteSettings"
    GroupId="Customization"
    Location="Microsoft.SharePoint.SiteSettings"
    Sequence="106"
    Title="MY SITE SETTINGS LINK">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?Customization"/>
  </CustomAction>
  <!-- Content Type Settings -->
  <CustomAction
    Id="UserInterfaceLightUp.ContentTypeSettings"
    GroupId="General"
    Location="Microsoft.SharePoint.ContentTypeSettings"
    Sequence="106"
    Title="MY CONTENT TYPE SETTINGS LINK">
    <UrlAction Url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?General"/>
  </CustomAction>
</Elements>
Tuesday, April 06, 2010 12:37:13 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
2010
# Friday, April 02, 2010

While writing a lab for an up and coming SharePoint 2010 course I came across a few handy things.

I’ve always been a big fan of the developer dashboard and until recently the example code has been a little scarce.

Fortunately I’ve found a couple of gems

- one from Paul Andrew’s blog on how to get your own text in the debug tree
using (SPMonitoredScope sc = new SPMonitoredScope(“Some timed scope”))
{
  // some code in here that you think may take time
}

and for the right side of the screen:
SPCriticalTraceCounter.AddDataToScope(uCounter, “Your category”, traceLevel, “Detailed long message”);

- and the 2nd is an extension that sits on the Dashboard page that plots the time taken for each component to process/render in the tree (it does this client side using jquery and an ASCX control)
http://devdashvis.codeplex.com/releases/view/36559

Check them out.

Cheers,

Mick.

Friday, April 02, 2010 1:25:44 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010
# Wednesday, March 31, 2010

Keeping the raging iCant do a thing; iCant fwd a txt msg or voice mail iPhone debate… the new Windows Phone 7 Tools are in here all its Silverlight glory.

Imagine being able to play a FLASH movie on the phone! shock horror.

So grab the next big thing and look out phone world….the way phones were meant to be ;)

image

Windows Phone Developer Tools

Wednesday, March 31, 2010 2:38:34 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | Other | Silverlight

BizTalk Best Practice Analyser is released and available for download.

Download: BizTalkBPA V1.2

As always another very handy tool is the Message Box Viewer (Currently V10) which provides some very detailed information as well.

Download: Message Box Viewer (MBV)

Enjoy your day,

Mick.

Wednesday, March 31, 2010 10:01:25 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2006 R2 | 2009
# Monday, March 29, 2010

The other day this landed in my inbox. Being on the TAP program and posting various pieces of feedback I’ve been updated that BizTalk 2010 is the only name to remember.

Keeps inline with VSNET2010 etc etc, so anything with a 2010 after its name *should* work with each other. SharePoint 2010 etc.

So far I’ve been playing with the early bits and I’m liking what I’m seeing – copy and paste functoids in a map!!! (for those of you who don’t know the pain….it’s pain let me tell you)

So here’s the official blurb…

Well done BizTalk Team! Working Hard!

------------------------------------------

BizTalk Server 2010 Name Change Q&A

Q: Why was the original name for the release BizTalk Server 2009 R2?

BizTalk Server 2009 R2 was planned to be a focused release to deliver support for Windows Server 2008 R2, SQL Server 2008 R2 and Visual Studio 2010. Aligning BizTalk releases to core server platform releases is very important for our customers. Hence our original plan was to name the release as BizTalk Server 2009 R2.

Q: Why did Microsoft decide to change the name for BizTalk Server 2009 R2 to BizTalk Server 2010?

Over the past year we got lot of feedback from our key customers and decided to incorporate few key asks from our customers in this release. Based on customer value we are delivering and positive feedback we are getting from our early adopter customers we feel the release has transitioned from minor release (BizTalk Server 2009 R2) to a major release (BizTalk Server 2010).  

Following is list of key capabilities we have added to the release

1.       Enhanced trading partner management that will enable our customers to manage complex B2B relationships with ease

2.       Increase productivity through enhanced BizTalk Mapper. These enhancements are critical in increasing productivity in both EAI and B2B solutions; and a favorite feature of our customers.

 

3.       Enable secure data transfer across business partners with FTPS adapter

4.      

U    Updated adapters for SAP 7, Oracle eBusiness Suite 12.1, SharePoint 2010 and SQL Server 2008 R2

5.      

      Improved and simplified management with updated System Center management pack

6.      

      Simplified management through single dashboard which enables IT Pros to backup and restore BizTalk configuration

7.      

      Enhanced performance tuning capabilities at Host and Host Instance level

 

8.       Continued innovation in RFID Space with out of box event filtering and delivery of RFID events

 

Q: Is there any additional benefit to customers with name change to BizTalk Server 2010?

In addition to all the great value the release provides, customers will benefit from support window being reset to 10 years (5 years mainstream and 5 years extended support). This highlights Microsoft’s long term commitment to BizTalk Server product.

 

Monday, March 29, 2010 8:27:25 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | R2 | 2010
# Saturday, March 13, 2010

Hi guys – Breeze is looking for talent that can hit the ground running in BizTalk and/or SharePoint.

Being a training company we’ll skill you up further and you’ll be working on a vast array of cutting edge technologies.

Ideally you must be Sydney based and full time preferred.

If you’re up then drop Nicki a line – n i c k i p @ <no spam> breeze (dot) net

Happy travels all,

Mick.

Saturday, March 13, 2010 9:48:46 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
General | Jobs
# Sunday, February 21, 2010

Here’s a handy set of commands when using in particular Virtual Machines with a ‘demo’ environment.

We certainly create images for my students to take away with them and the common question is:

When will this OS expire?” or more likely on the 3rd day of a 5 day course I get the error popping up stating the OS has expired and will shutdown every 2hrs.

To know when the OS may expire from the command prompt:

c:\slmgr –xpr

To possibly EXTEND to trial period for the OS

c:\slmgr –rearm

(note – you can only get away with this a few times)

If this fails, you can always jump to MS and try and get a trial key off their site.

Sunday, February 21, 2010 9:57:49 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
General | Tips
# Friday, February 12, 2010

Hi folks,

Lately I've had several requests from folks whom want to have a play with BizTalk but don't want to setup the whole infrastructure etc.

Here's a great page from MS Virtual Labs that will get you on your way
(some labs are for BTS2006, others for BTS2009, the same principles apply)

Check it out and if you're ever away from a VM, might be handy a fallback plan.

BizTalk Virtual Lab Material

There's 4 pages and here's a snippet from Page 1

--------------------------------------------------------------

Click here to bookmark this event.
After completing this lab, you will be better able to create a new BizTalk project, create an XML schema by using the BizTalk Editor, promote a schema property, create a flat file schema by using the BizTalk Editor, validate a schema and generate a sample instance message, create a strong name and assign it to an assembly, and build a schema project.  ...
4/3/2006 12:00 AM Pacific Time (US & Canada)- 9/30/2011 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032296903&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to create a schema map by using BizTalk Mapper, add functoids to a map, validate a map, and build a schema map project.
4/3/2006 12:00 AM Pacific Time (US & Canada)- 11/30/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032296906&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to define business rules, call business rules from within an orchestration, build and deploy the business rules project, and start and test the business rules.
5/7/2008 12:00 AM Pacific Time (US & Canada)- 5/31/2011 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032379047&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to assign an application name to a BizTalk Server project, use the BizTalk Server 2006 Administration Console to create receive ports, receive locations, use the BizTalk Server 2006 Administration Console to import port binding information, bind orchestration ports to physical ports, export a BizTalk application to an MSI package, import a BizTalk application from an MSI package, and finally, use the Group Hub to manage suspended messages.  ...
4/3/2006 12:00 AM Pacific Time (US & Canada)- 12/31/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032296904&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to educate attendees on integrating Commerce Server 2007 with ERP or CRM systems and external business trading partners by utilizing the new built-in integration adapter for BizTalk Server 2006. Also, you will learn how to utilize the new Orders, Inventory, Catalog, and Profile BizTalk Adapters in detail to achieve high-performing, reliable connectivity between Commerce Server deployments and other external systems.  ...
4/20/2007 12:00 AM Pacific Time (US & Canada)- 8/31/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032338959&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to define business rules, call business rules from within an orchestration, build and deploy the business rules project, and start and test the business rules.NoteBy registering for this virtual lab, you will receive a one-time follow up call from a Microsoft representative to inform you of special discounts and offers related to products and services presented in the virtual lab.  ...
4/3/2006 12:00 AM Pacific Time (US & Canada)- 11/30/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   IT Generalist
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032313534&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be able to create a new BizTalk project, create an XML schema by using BizTalk Schema Editor, promote a schema property, create a file schema by using BizTalk Schema Editor, validate a schema and generate a sample instance message, and build a schema project.  ...
12/7/2005 12:00 AM Pacific Time (US & Canada)- 7/31/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032279924&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be able to configure orchestration properties, create the orchestration to be published, build and deploy the orchestration publishing project, run the BizTalk Web Services Publishing Wizard, and start and test the published orchestration.  ...
10/24/2005 12:00 AM Pacific Time (US & Canada)- 2/28/2011 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032303224&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be able to add a Web reference to a project, create a map, create variables for message instances, create the Web services orchestration, and build and deploy the Web services project.
10/24/2005 12:00 AM Pacific Time (US & Canada)- 1/31/2011 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032303223&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to assign an application name to a BizTalk Server project, use the BizTalk Server 2006 Administration Console to create receive ports, receive locations, use the BizTalk Server 2006 Administration Console to import port binding information, bind orchestration ports to physical ports, export a BizTalk application to an MSI package, import a BizTalk application from an MSI package, and finally, use the Group Hub to manage suspended messages. NoteBy registering for this virtual lab, you will receive a one-time follow up call from a Microsoft representative to inform you of special discounts and offers related to products and services presented in the virtual lab.  ...
2/3/2006 12:00 AM Pacific Time (US & Canada)- 9/30/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   IT Generalist
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032296907&culture=en-US


Friday, February 12, 2010 9:20:57 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2006 R2 | 2009 | R2 | Training
# Wednesday, February 10, 2010

I got an email from David Marsh telling me about this new world from MS. Let me share a little…
Way back when…LOGO was one of the first languages I learnt as a kid.

Moving a turtle around on a page with commands such as PenUp, PenDown, RightTurn etc etc – pretty cool as a kid and then you could draw things (there was a big version of the Turtle that interfaced into an Apple II via a ribbon cable as wide as a 4 lane highway)

MS Dev Labs have released a great SmallBasic environment that is very simple to pickup (great for kids).
It’s got a very simple set of commands AND it outputs straight to Silverlight.


Pretty quick ways of building silverlight apps….nice!

Check out http://smallbasic.com –only if you have some free time smile_wink


Wednesday, February 10, 2010 2:39:38 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | General | Silverlight | Tips
# Monday, January 18, 2010

From time to time I check out on what’s happening in my favourite ‘moon lighting’ area – Silverlight.

Love the Silverlight potential – I’m a big fan.

So from http://silverlight.net – I found a Z-80 EMULATOR!!! (like what’s next an Apple II)

You hit the ‘Run’ button and far too many years has passed between me and my Computer Engineering Degree of Demorgans Theorem and Fast Fourier Transforms.

Great effort! (by someone whom had SOOO much time on their hands)

image

http://www.expertgig.com/slsample/sl_z80emu/SL_Z80emuTestPage.html

Monday, January 18, 2010 10:01:24 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
General | Silverlight | Tips
# Friday, January 15, 2010

Many times in BizTalk land we work with Schemas that are nested and have several related Schemas that are Imported from URL locations etc.

When you include these schemas and deploy to Production, you find out that the BizTalk server doesn’t access the Internet directly. Hence all the schema Imports fail.

You’ll then go and try hand edit the Imports, downloading the referenced Schema and try and Mash up something that refers to local files and no URL based Schemas. It may or may not work…till the next update…

I recently came across a handy set of free tools that take all the pain out to do with Schemas –>

Xml Help Line

Which has Xml Schema Lightener, Xml Schema Flattener

Another very handy tool not to leave home without.

Enjoy.

Friday, January 15, 2010 9:43:18 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
.NET Developer | BizTalk | Insights | Tips
Archive
<May 2012>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
Blogroll
 AppFabric CAT
AppFabric Windows Server Customer Advisory Team - New Blog.
[Feed] BizTalk 2006 - Windows SharePoint Services adapter
BizTalk 2006 Sharepoint adapter!!
 Breeze SharePoint 2010 Bootcamp
Breeze SharePoint 2010 Bootcamp
[Feed] BTS 2006 R2/EDI
[Feed] Chris Vidotto (MS BTS Legend)
Needs no intro....
 Mark Daunt
BTS/SPS/.NET GURU!!!
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Breeze
Sign In
Statistics
Total Posts: 530
This Year: 23
This Month: 1
This Week: 0
Comments: 266
All Content © 2012, Breeze