A random collection of epiphanies, thoughts and problem solutions pertaining to .NET and BizTalk.

Friday, December 31, 2004

Web service project name cannot exceed 61 characters!

I think I just figured out the problem I posted below. It turns out that the web service project name can't be longer than 61 characters. Therefore, the assembly's friendly name couldn't exceeds 61 characters for web servie dll. I took the default name


BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy


for the web service when I published it from the ws publishing wizard. It's 67 characters and it exceeds this arbitrary limit. I tried to create a dummy web service on my computer with the name


BancOfMercury_CurrencyLaunderingTechnology_DUI_GrabTheMoneySer


which failed to allow me to access it as well. The error reported by the fusion.exe is very deceiving. It pointed me to other directions when I troubleshoot the problem. I thought error is in the assembly probing process. FUSLOGVW says this:
LOG: Post-policy reference:


BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
ERR: Setup failed with hr = 0x80131047.
ERR: Failed to complete setup of assembly (hr = 0x80131047).
Probing terminated.


Anyway, I tried another dummy project with name

BancOfMercury_CurrencyLaunderingTechnology_DUI_GrabTheMoneySe
BancOfMercury_CurrencyLaunderingTechnology_DUI_GrabTheMoney


and it worked. There's no documentation states that we couldn't name web service project with a name more than 61 chars. It still perplexes me since microsoft uses a cut off to be 61 instead of 64 which is exactly 8 bytes.



Thursday, December 30, 2004

0x80131047


I was able to publish the web service from the biztalk and the the web service project was generated successfully. I was able to compile the program okay as well. However, when I browse to the asmx page, I got this configuration error. So far I was not able to figure out why. I also enclosed the fusion output.



Server Error in '/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy' Application.




Configuration Error



Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: The given assembly name or codebase, 'BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy', was invalid.

Source Error:







Line 196: <add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 197: <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 198: <add assembly="*"/>
Line 199: </assemblies>
Line 200: </compilation>







Source File: c:\winnt\microsoft.net\framework\v1.1.4322\Config\machine.config    Line: 198


Assembly Load Trace: The following information can be helpful to determine why the assembly 'BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy' could not be loaded.







=== Pre-bind state information ===
LOG: DisplayName = BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy
(Partial)
LOG: Appbase = file:///c:/inetpub/wwwroot/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===

LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy
LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy/a47ccba5/38832147/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.
LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy/a47ccba5/38832147/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.
LOG: Attempting download of new URL file:///c:/inetpub/wwwroot/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy/bin/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null










Version Information: Microsoft .NET Framework Version:1.1.4322.985; ASP.NET Version:1.1.4322.968




Here's the fusion output



*** Assembly Binder Log Entry (12/30/2004 @ 5:40:59 PM) ***

The operation failed.
Bind result: hr = 0x80131047. No description available.

Assembly manager loaded from: C:\WINNT\Microsoft.NET\Framework\v1.1.4322\fusion.dll
Running under executable C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_wp.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: DisplayName = BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy
(Partial)
LOG: Appbase = file:///c:/inetpub/wwwroot/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy
LOG: Initial PrivatePath = bin
LOG: Dynamic Base = C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy\a47ccba5
LOG: Cache Base = C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy\a47ccba5
LOG: AppName = 38832147
Calling assembly : (Unknown).
===

LOG: Processing DEVPATH.
LOG: DEVPATH is not set. Falling through to regular bind.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy
LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy/a47ccba5/38832147/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.
LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy/a47ccba5/38832147/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.
LOG: Attempting download of new URL file:///c:/inetpub/wwwroot/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy/bin/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.
LOG: Assembly download was successful. Attempting setup of file: c:\inetpub\wwwroot\BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy\bin\BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL
LOG: Entering download cache setup phase.
LOG: A partially-specified assembly bind succeeded from the application directory.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
ERR: Setup failed with hr = 0x80131047.
ERR: Failed to complete setup of assembly (hr = 0x80131047). Probing terminated.

Followers