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

K

ksdafh

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(AssemblyName 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.LoadType(String typeName,
String assemblyName)
at System.Runtime.Remoting.RemotingConfigInfo.GetServerTypeForUri(String
URI)
at
System.Runtime.Remoting.RemotingConfigHandler.GetServerTypeForUri(String
URI)
at System.Runtime.Remoting.RemotingServices.GetServerTypeForUri(String
URI)
at
System.Runtime.Remoting.Channels.Http.HttpRemotingHandler.CanServiceRequest(HttpContext
context)
at
System.Runtime.Remoting.Channels.Http.HttpRemotingHandler.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\aspnet.config).
LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\config\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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,073
Latest member
DarinCeden

Latest Threads

Top