Interfaces/SOAP Web Service/Details

From J Wiki
Jump to navigation Jump to search

When SOAP COM+ application is created, it is hosted in IIS as a SOAP VRoot. All this is created automatically by Component Services with .NET.

First, we see it under IIS as Web Application

JSoap1.png

If we go to C:\WINDOWS\system32\Com\SOAPVRoots\JApp folder, and look throught the files, we see that

  • Default.aspx parses the Web.config and lists available services as links on the first page
  • Default.disco is alternative access point for software that understand web services discovery
  • Web.config is the principal file that contains both the list of available web services, and configuration parameters for them. In particular the <wellknown mode="..." assigns activation mode.
<configuration>
  <system.runtime.remoting>
    <application>
      <service>
        <wellknown mode="Singleton" type="JDLLServerLib.JDLLServerClass, JDLLServerLib, Version=3.0.0.0, Culture=neutral, PublicKeyToken=4a20487b5a2222ad" objectUri="JDLLServer.3.soap" />
        <activated type="JDLLServerLib.JDLLServerClass, JDLLServerLib" />
      </service>
    </application>
  </system.runtime.remoting>
</configuration>

Further access to the web service is performed via the objectUri="JDLLServer.3.soap": both the automatic generation of the WSDL and performing of actual calls. The .soap extension is handled by ASP.NET automatically by serving the calls to the associated JDLLServerLib.JDLLServerClass component, which is a thin interop wrapper (placed in the bin folder) to the original J COM component, with prog ID JDLLServer, as it was added in COM+ configuration.