WSE3 -> WCF INTEROP BASICS

How to send Message from WSE3 client to WCF service?

WCF SERVICE SIDE:

(1)You have to define custom binding to communicate with WSE3 client apps(when you are communicating with WSE clients, you can't use standard binding)

(2) In this custom binding, you have to use 2004 ws-addressing (Soap11WSAddressingAugust2004)

(3) Creating custom binding is not tough, what we are doing in this custom binding is

  • we are going to use Http transport
  • we are going to use 2004 ws-addressing (WCF will use recent soap ws-addressing spec, This is not compatible with WSE3 ws-addressing,so we have to tell to WCF service to use 2004 ws-addressing spec)
  • Most important thing is, what would be WCF service security policy (Policy defines security requirements for your service)

Please check SAMPLE1 and SAMPLE2 WCF service custom binding to know,How we defined custom binding

   WSE3 CLIENT SIDE:

  • Add WSE support for client project(you can enable this by WSE3 config tool)
  • Generate proxy code by using Add web reference wizard
  • create security policy for WSE client app by using wse config tool and include this policy in client project (when you are creating the security policy, check what is your security policy on wcf service side, This policy should be compatible with WCF service security policy)

SAMPLES:

SAMPLE1:

WSE->WCF interop(Anonymous certificate)

https://www.kioskotobys.com.ar/WSEAndIndigo.zip

SAMPLE2:

WSE->WCF interop (Kerberos)

https://blogs.msdn.com/madhuponduru/attachment/594770.ashx

CLIENT SIDE:

Modify client policy file, change the host name to your machine name and

SAMPLE3:

Sample 3 also will be using custom binding, Microsoft providing custom binding code, please use this approach, sample1 and sample2 to understand more about WCf->WSE interop internals.

WSE->WCF interop with custom binding (custom binding)

WSE team found, above approach may confuse customers, so they wrote custom binding to solve WSE->WCF interop problem, we have to reference wsehttpbinding class library in your project ,and then change all the settings programmatically

https://blogs.msdn.com/madhuponduru/attachment/577903.ashx

Note:

Please run setup.bat(run it from SDK command prompt, please make sure, you are able to run makecert,certmgr commands from command window)