HighTechTalks DotNet Forums  

HELP! - COM+ "uses soap", 1.1 = OK, 2.0 = BadImageFormatException

ASP.net Web Services microsoft.public.dotnet.framework.aspnet.webservices


Discuss HELP! - COM+ "uses soap", 1.1 = OK, 2.0 = BadImageFormatException in the ASP.net Web Services forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
ksdafh
 
Posts: n/a

Default HELP! - COM+ "uses soap", 1.1 = OK, 2.0 = BadImageFormatException - 05-08-2006 , 05:05 PM







I have tested this in a variety of scenarios and the results lead me to
point at .NET 2.0. I have also recreated the error in a newly created
"hello world" COM server with zero dependencies. On a server with .NET 1.1
only, everything works perfectly, on a server with 2.0 the results are
always the same - see below:

We expose as a web-service through COM+ the COM server with the "uses soap"
method. (SEE: http://tinyurl.com/frsh3) We have used this method for many
COM components on many servers without a problem.

However - as we deploy it on a server that has .NET 2.0 installed - BOOM!

The exposure set-up through COM+ seems to work fine - it creates the
necessary interop dll in the \Com\SoapVRoots\ directory, creates the
application in IIS and creates all the other necessary files etc.

And, as expected, browsing to the root of the new directory in IE shows the
root web-service listing, however when we click on the service itself to
show the WSDL document the server chokes with:

System.BadImageFormatException: The format of the file 'XTest999ServSoapLib'
is invalid.
File name: "XTest999ServSoapLib"
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String
codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean
throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(AssemblyNa me assemblyRef,
Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(String assemblyString,
Evidence assemblySecurity, StackCrawlMark& stackMark)
at System.Reflection.Assembly.Load(String assemblyString)
at System.Runtime.Remoting.RemotingConfigInfo.LoadTyp e(String typeName,
String assemblyName)
at System.Runtime.Remoting.RemotingConfigInfo.GetServ erTypeForUri(String
URI)
at
System.Runtime.Remoting.RemotingConfigHandler.GetS erverTypeForUri(String
URI)
at System.Runtime.Remoting.RemotingServices.GetServer TypeForUri(String
URI)
at
System.Runtime.Remoting.Channels.Http.HttpRemoting Handler.CanServiceRequest(HttpContext
context)
at
System.Runtime.Remoting.Channels.Http.HttpRemoting Handler.InternalProcessRequest(HttpContext
context)

=== Pre-bind state information ===
LOG: DisplayName = XTest999ServSoapLib, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=72e3a4f914a25359
(Fully-specified)
LOG: Appbase = file:///C:/WINDOWS/system32/com/SoapVRoots/xt
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===

LOG: Publisher policy file is not found.
LOG: No redirect found in host configuration file
(C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspn et.config).
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\confi g\machine.config.
LOG: Post-policy reference: XTest999ServSoapLib, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=72e3a4f914a25359
LOG: Attempting download of new URL
file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET
Files/xt/b1ae6f40/1c17e613/XTest999ServSoapLib.DLL.
LOG: Attempting download of new URL
file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET
Files/xt/b1ae6f40/1c17e613/XTest999ServSoapLib/XTest999ServSoapLib.DLL.
LOG: Attempting download of new URL
file:///C:/WINDOWS/system32/com/SoapVRoots/xt/bin/XTest999ServSoapLib.DLL.



"XTest999ServSoapLib" is the interop DLL that COM+/.NET created when we
check "uses soap" in COM+, the dll itself is named "XTest999Serv".

Please help - we are desperate!

M.



Reply With Quote
  #2  
Old   
NICOLA
 
Posts: n/a

Default RE: HELP! - COM+ "uses soap", 1.1 = OK, 2.0 = BadImageFormatException - 04-23-2007 , 04:29 AM







Quote:
I have tested this in a variety of scenarios and the results lead me to
point at .NET 2.0. I have also recreated the error in a newly created
"hello world" COM server with zero dependencies. On a server with .NET 1.1
only, everything works perfectly, on a server with 2.0 the results are
always the same - see below:

We expose as a web-service through COM+ the COM server with the "uses soap"
method. (SEE: http://tinyurl.com/frsh3) We have used this method for many
COM components on many servers without a problem.

However - as we deploy it on a server that has .NET 2.0 installed - BOOM!

The exposure set-up through COM+ seems to work fine - it creates the
necessary interop dll in the \Com\SoapVRoots\ directory, creates the
application in IIS and creates all the other necessary files etc.

And, as expected, browsing to the root of the new directory in IE shows the
root web-service listing, however when we click on the service itself to
show the WSDL document the server chokes with:

System.BadImageFormatException: The format of the file 'XTest999ServSoapLib'
is invalid.
File name: "XTest999ServSoapLib"
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String
codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean
throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(AssemblyNa me assemblyRef,
Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(String assemblyString,
Evidence assemblySecurity, StackCrawlMark& stackMark)
at System.Reflection.Assembly.Load(String assemblyString)
at System.Runtime.Remoting.RemotingConfigInfo.LoadTyp e(String typeName,
String assemblyName)
at System.Runtime.Remoting.RemotingConfigInfo.GetServ erTypeForUri(String
URI)
at
System.Runtime.Remoting.RemotingConfigHandler.GetS erverTypeForUri(String
URI)
at System.Runtime.Remoting.RemotingServices.GetServer TypeForUri(String
URI)
at
System.Runtime.Remoting.Channels.Http.HttpRemoting Handler.CanServiceRequest(HttpContext
context)
at
System.Runtime.Remoting.Channels.Http.HttpRemoting Handler.InternalProcessRequest(HttpContext
context)

=== Pre-bind state information ===
LOG: DisplayName = XTest999ServSoapLib, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=72e3a4f914a25359
(Fully-specified)
LOG: Appbase = file:///C:/WINDOWS/system32/com/SoapVRoots/xt
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===

LOG: Publisher policy file is not found.
LOG: No redirect found in host configuration file
(C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspn et.config).
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\confi g\machine.config.
LOG: Post-policy reference: XTest999ServSoapLib, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=72e3a4f914a25359
LOG: Attempting download of new URL
file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET
Files/xt/b1ae6f40/1c17e613/XTest999ServSoapLib.DLL.
LOG: Attempting download of new URL
file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET
Files/xt/b1ae6f40/1c17e613/XTest999ServSoapLib/XTest999ServSoapLib.DLL.
LOG: Attempting download of new URL
file:///C:/WINDOWS/system32/com/SoapVRoots/xt/bin/XTest999ServSoapLib.DLL.



"XTest999ServSoapLib" is the interop DLL that COM+/.NET created when we
check "uses soap" in COM+, the dll itself is named "XTest999Serv".

Please help - we are desperate!

M.

We solve the problem changing the ASP.NET version in the ASP.NET tab of the web site (automatically created by "uses soap") properties.

BizTalk Utilities - Frustration free BizTalk Adapters
http://www.topxml.com/biztalkutilities


Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.