WCF Typed Service Moinker Contract
When using a typed service moniker, the contract specifies the UUID of the interface for the contact (IInteropTest) defined in the web.config of the WCF service. The UUID can be located by viewing the type library for the registered assembly (i.e. InteropTestProxy.tlb) using Oleview.exe.
Strong Named Proxy Assembly
Register with COM - “regasm InteropTestProxy.dll /tlb:InteropTestProxy.tlb”
Install into GAC – “gacutil /i InteropTestProxy.dll”
Type Library – Interface for IInteropTest
[
odl,
uuid(604B94B4-915D-3EC7-94B9-060F0B1337AD),
version(1.0),
dual,
oleautomation,
custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, InteropTestProxy.InteropTest.IInteropTest)
]
interface IInteropTest : IDispatch
WCF Service - Web.config
<system.serviceModel>
<services>
<service behaviorConfiguration="returnFaults" name="InteropTest">
<endpoint binding="wsHttpBinding" name="InteropTest" contract="IInteropTest" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="returnFaults" >
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Client Typed Moniker Code
Set proxy = GetObject("service:address=https://localhost/InteropTest/service.svc, binding=wsHttpBinding, contract={604B94B4-915D-3EC7-94B9-060F0B1337AD}")