I have an old ASP.NET app connecting to a .NET Remoting service. I'd replaced the .NET Remoting service to a WCF service. I have the original WSDL and I've generated a WCF service by the help of svcutil. I don't know whether the client will able to connect and call the WCF service without changing its code.
Is it possible to solve this problem, please?
A service can be both a remoting service and a WCF service at the same time.
Just configure it with RemotingServices as usual for remoting.
Then decorate with OperationContract / ServiceContract and construct with ServiceHost and you can create clients for both techniques, just that remoting is TCP only.
WCF and Remoting are different paradigms. So if you changed your Remoting server to .NET WCF service, you will have to change the client code to use the wsdl generated client
look at https://learn.microsoft.com/en-us/dotnet/framework/wcf/migrating-from-net-remoting-to-wcf#Client_Comp. it should not be difficult
Related
Am creating a WCF service which will be hosted in IIS 7. Can I expose webHttpBinding for Json communication and also netNamedPipeBinding for internal to the system
No, It's not allowed to have two types of protocol on single WCF service in one hosting process on IIS. The reason is that for WebHttpBinding you would need to use AspnetcompatibilityMode which allows WCF to be hosted side by side in Asp.net app domain and allows functionalities like Routing, access to HttpContext.Current.
Other binding types won't be supported with other types of biding if you have Aspnetcompatiblitymode enabled. For more details read the MSDN documentation here.
I am using wsHttpBinding with a WCF service.
I've added a web reference and I've got the web proxy (it is based on SoapHttpClientProtocol).
Also I've tried to build a proxy using wsdl.exe and the actual wsdl generated by the wcf service (http://zzzz/zz.svc?wsdl).
When the client calls the service, I get the following error:
The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/Service1/Operation1'.
Why doesn't the client (the web proxy) work with my WCF service?
What steps should I take to make them work?
I am running .NET FW 3.5 and ASP.NET 2.0.
You cannot consume service exposed on wsHttpBinding with default configuration by old ASMX proxy. You must either use add service reference / svcutil or change your binding to basicHttpBinding. Default configuration of wsHttpBinding uses advanced security and ASMX doesn't support it.
We are in the process of creating a new WCF web service (WCF service that has an basicHttpBinding Endpoint) to carry out some of our business logic.
The web application connects not problem at all, however our legacy Compact framework application doesn't seem to see the service at all.
Are we on to a loser here and should we just revert to ASMX web service (the Compact framework cannot be upgraded) or is there a way around this?
Yes you can but you need to treat it as a soap service not a WCF service with all the .net 3.5 goodness. Start up your web service and create web service reference in your .net 2.0 CF and use the auto generated code.
How can we consume WCF service in .Net 2.0 Winform. Please note that we don't have IIS on the client. an example or a sample would be great.
It all depends on how your WCF endpoints are configured.
If you're using SOAP based WCF Services over HTTP, you should be able to simply add a Service Reference from your .NET 2.0 WinForms application and be on your way (which is what I would suggest doing).
If that's not the case, you'll have to provide a little more detail about what you're trying to do with your WCF Services.
You can host your WCF service in a Windows Service as per this article. In that case, it will listen on the HTTP protocol on any port you configure.
I'm starting in the WCF world and would like to ask your opinion on something.
I need to implement a service exposing one method that receives a couple of parameters. I want the parameters, submitted from a form in the client to the service, to be sent encrypted in the SOAP message.
The service needs to be accessed from .NET 3.5 clients and also 1.1. It is not possible to install the WCF service via a windows service, it needs to be deployed as a IIS app.
My questions:
- How can the WCF service assure encryption of the input parameters? A certificate in the client or are there any alternatives?
- Is there any problem consuming the WCF service via 1.1 apps, or even other non .NET clients?
- Do you think this scenario is implementable with WCF?
Thank you in advance
There is no way for a .NET 1.1 application to call a WCF service unless that service is exposed through basicHttpBinding. That binding only permits the use of SSL for encryption.
SSL on the web service host.
.NET 1.1 doesn't support automatic encryption, or WS-Security. You can encrypt/decrypt the parameters manually, though.