1. Go to admin area > configuration > Access Control List and ensure that you 'Access Web Service' permission configured. 2. To access service use http://www.yourStore.com/Plugins/Misc.WebServices/Remote/NopService.svc 3. In order to find out a list of supported methods please have a look at the following file \src\Plugins\Nop.Plugin.Misc.WebServices\INopService.cs (provided in the package with ource code)
I have been trying to add a service api for some time now, I was about to use Web Api 2, but experienced some problems binding the right packages, since NopCommerce 2.80 apears to be using some earlier versions that don't provide all functions expected to be available.
Searching the right way to finally get some sort of Service working, today I found the misc.plugin.Webservices I wished I found earlier. Thing is, I need to either extend the WebService or develop my own Webservice-Plugin. And my experience with a SOAP Service is rather thin.
So there are 2 Questions
Question 1:
I activated the Webservice Plugin like Andrei described and called the service address in the browser: http://www.mydomain.com/Plugins/Misc.WebServices/Remote/NopService.svc .
Just to see how or if it basically works. There I got a website basically telling me:
a file will be generated that you will need to implement in the Client application that is meant to call the service.
I don't want to ruin anything meaning: if I do call this site and later change the Webservice Interface by adding new Operations, will I have to generate a new file and will the provided link always generate the files or just once the service has been activated?
Question 2: If I was to write my own Service Plugin would it be enough to just copy the Misc.Webservice Plugin and create my own Access Functions?
Q1: yes, you would have to generate the WSDL file again if you add extra functions and want to use those in the application that calls the web service. Yes, it will generate the WSDL every time you call that URL (not just on the first run).
Q2: yes, you could copy the existing plugin and modify it with your own functions. As long as you make sure that the plugin name is different, otherwise it would cause a conflict.