Well – after spending *far* too long trying to get a little Red X to disappear from
my BTS Configuration tool, so I can have a green light to configure the SharePoint
adapter, I thought “There’s got to be an easier way”
Exhibit A – your honour. The SharePoint Adapter Configured.
So – what I did was roll my sleeves up and do this by hand.
This particular install – BTS09 x86, I installed WSS V3.0 with Sp2 and created a local
sharepoint web application, site collection and had a whole bunch of SharePoint happiness
coming back to me on http://biztalk (my server name).
All good I thought – except the configuration tool didn’t like what it found. I looked
at logs, ran network sniffers and even manually ran the tool Microsoft.BizTalk.KwTpm.StsOmInterop3.exe http://biztalk with
success:
But still no joy in the configurator.
Here’s how to do it manually:
-
Setup your local or domain SharePoint Groups
Typically this is the ’SharePoint Enabled Hosts’ Group – if it already exists
on the domain, then great, if not create it. For this I created my group on the local
machine.
I also added as members, my biztalk service account and my Sharepoint Service
Account. -
Configure IIS – BTS SharePoint WS Web Application
-
Within the BizTalk Installed folders – e.g. c:\program files\Microsoft BizTalk 2009\Business
Activity Services, you’ll find the set of WebServices to choose from. Select the right
one for your SharePoint deployment. - As you can see I selected BTSharePointV3AdapterWS (for WSS V2 SP3, select BTSharePointAdapterWS).
- This is the folder you will point IIS to later.
- Open this folder and you’ll see a web application with a web.config.tmpl
- Copy the web.config.tmpl and rename the *copy* to web.config
-
Open up your Web.Config in Notepad and configure as follows:
- (you can always go back and tighten security up on this when you’ve got it working).
- Note the ’SharePoint Enabled Hosts’ – local group here.
-
I’ve also removed the ’Documentation’ tags so I could get some WSDL to make sure it
works within the browser. - Save your web.config within Notepad.
-
NOTE: make note of the Folder Path to get here as we’ll need it in IIS next.
<?xml version=”1.0″ encoding=”utf-8″?>
<configuration>
<system.web>
<httpModules>
<!–add name=”UrlAuthorization”
type=”System.Web.Security.UrlAuthorizationModule” /–>
</httpModules><!– Change debug=”true” if you want to debug this web service
–>
<compilation defaultLanguage=”c#” debug=”false” />
<customErrors mode=”Off” />
<!– Windows Authentication is required for this web service.
–>
<authentication mode=”Windows” />
<!– Impersonation is required for this web service. –>
<identity impersonate=”true” />
<authorization>
<allow roles=”SharePoint Enabled Hosts”
verbs=”GET,HEAD,POST”/>
<deny users=”*”/>
</authorization><!– Uncomment this block if you want to do some tracing of
this web service –>
<!– <trace enabled=”true” requestLimit=”10″ pageOutput=”false”
traceMode=”SortByTime” localOnly=”true” /> –>
<globalization requestEncoding=”utf-8″ responseEncoding=”utf-8″
/><!– The size of a document being posted to SharePoint depends
on this setting –>
<httpRuntime maxRequestLength=”100000″ />
<trust level=”Full” originUrl=”” />
</system.web>
<runtime>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<dependentAssembly>
<assemblyIdentity name=”Microsoft.SharePoint”
publicKeyToken=”71e9bce111e9429c”/>
<bindingRedirect oldVersion=”11.0.0.0″
newVersion=”12.0.0.0″/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
-
Configuring IIS
- Bring up IIS Admin MMC snapin.
-
Select your SharePoint enabled Web Site, I selected ’Default Web Site’. Right click
when ’Default Web Site’ is Selected and select ’Add Application’note: IIS 7.0 Manager shown.
-
Configure this as follows:
(Note – the App Pool User should be able to post into BizTalk and SharePoint)
Physical Path: <path you had previously to either V2 or V3 of your BTSharePointV3Adapter>
- Click OK.
- To Test your WS: browse to: http://<your server>/BTSharePointAdapterWS/BTSharePointAdapterWS.asmx
-
You *should* get this:
You can invoke the IsAlive function and get TRUE back.
-
If not, then fix your IIS related errors, at this point you’ve got a WS that uses
the SharePoint APIs (locally). Some things to check:- Local file security – make sure the Web App Pool acct can access those directories.
- Windows Auth is turned on, on your Web App.
- Check IIS log files for clues.
- You’re done on the IIS side of things, let’s configure BTS Side.
-
Within the BizTalk Installed folders – e.g. c:\program files\Microsoft BizTalk 2009\Business
-
Configuring BizTalk Side
Fortunately the WSS Adapter is installed as part of the BizTalk Runtime configuration
– it’s just not configured. So as far as registering the adapter with BizTalk it’s
already been partly done. -
Install the “I’ve been Configured Registry Keys” – I took these from a previously
successful 2009 install. -
Once the registry keys have been applied you’ll need to go and configure the \TPM
key to reflect your setup as follows: - In Particular – configure your SharePoint SiteID to the one you saw in IIS.
- How is this Different for a x64 bit Install
- The IIS piece is the same.
-
The BTS Piece – the Perf counters are the same,
but the ..\TPM piece is under HKLM\SOFTWARE\WOW6432Node\Microsoft\BizTalk
Server\3.0\ConfigFramework - So you’ll need to ammend 1 of the above 2 REG files.
BTS
WSS Reg Keys
>
>
You’re done!
Why oh why is this so hard from within the Configurator.
NOTE: There *USED* to be a Registry key that told the BTS WSS Adapter where
to go looking for the BTSharePoint WS – a URL (..STSServiceUrl). This eliminated the
need for a local machine install of SharePoint/WSS. Alasthis is *NOT* the case with
WSS Adapter post BTS06.