InfoPath only works with basicHttpBinding by default. When using webservice with InfoPath, the webservice URL is usually placed in the UDX file. There is no way in this file to specify a binding for the target service. Usually you do not create a proxy server for your service, InfoPath does this behind the scenes, and the proxy server uses only basicHttpBinding.
If you want your InfoPath forms to work with a WCF service that does not use basicHttpBinding, you can do this by creating a proxy server yourself programmatically in the form of an InfoPath form . When you create a proxy programmatically, you can specify the target binding of the WCF service in the proxy constructor. There are no restrictions when using a programmatically created proxy server. Of course, .NET 3.5 should already have been installed so that WCF libraries are available to your code to create these proxies with the correct bindings. When you install InfoPath, only .NET 2 is available.
I tried this with wsHttpBinding and it worked without problems. Of the many articles and posts, many people believe that InfoPath can only work with basicHttpBinding. This is only partially true, because it applies only when you yourself do not create your proxies.
source share