TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
sreenu kolusu
NA
38
181.8k
How to create , deploy and consume WCF service in SharePoint 2010
Aug 9 2012 1:54 PM
In my previous post show how to create An ASMX web service in SharePoint 2010.
Here now am trying to show How to create, deploy and consume WCF service in SharePoint 2010.
1. Create Empty SharePoint Project.
2. Specify SharePoint site location for debugging.
starting solution explorer look like this.
3. Right Click on the project on select "Unload Project".
4. Again Right Click project and Select "Edit" project file.
5. Add <TokenReplacementFileExtensions>svc</TokenReplacementFileExtensions> after <sandboxedsolution> tag.
6.Now save the file and close it. Then Right Click on project file and select "Reload Project".
7. Now add SharePoint Mapped Folder to the project.
8. Select "ISAPI" folder and Click on "OK".
9.Now create Folder in side the ISAPI folder and add service file i.e .svc file to the newly created folder.
10. Now add web.config file to the subfolder in ISAPI.
11. Now i want to create service file for this i need one interface and one class file. Here am getting these two file from wcf service project. For this am adding one more project to my solution and later i will remove this project.
12. Creating new project using "WCF Service Library".
13. Here am taking two service file from the WCF prject and will be add to the previous project i.e where we are creating wcf service.
14. Adding Service file from the WCF service.
15. Now am removing WCF project from the solution.
16. After removing WCF project Solution Explorer look like this.
17. we can rename to the service class and service interface but am continuing with those name only.
now am adding references to the project.
I ) Microsoft.SharePoint.Client.ServerRuntime.dll and location for the dll is:
C:\Windows\assembly\GAC_MSIL\Microsoft.SharePoint.Client.ServerRuntime\14.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.ServerRuntime.dll
II)System.Runtime.Serialization
III) System.ServiceModel
18. By default IService1.cs have two methods and now am adding one more method which will return SharePoint Site Title.
19. Writing method implementation in Service1.cs file and this file looks like this.
20. Upto now methods and their implementations are over.
Now open wcf service file i.e .svc file and write the following single line of code.
<%@ ServiceHost Language="C#" Debug="true" Service="UKWCFService.Service1, $SharePoint.Project.AssemblyFullName$" CodeBehind="Service1.cs" %>
Here UKWCFService is the namespace in Service1.cs and Service1 is the class name in Service1.cs
21. Now open Web.config and add the following code.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="
UKWCFService.Service1
ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="
UKWCFService.Service1
ServiceBehavior"
name="
UKWCFService.Service1
">
<endpoint address="" binding="basicHttpBinding" contract="
UKWCFService.IService1
">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
</configuration>
and now change the highlighted names.
UKWCFService.Service1
ServiceBehavior -- here UKWCFService is namespace in Service1.cs and Service1 is the class name in Service1.cs and ServiceBehavior is same.
UKWCFService.Service1
--
here also UKWCFService is namespace in Service1.cs and Service1 is the class name in Service1.cs
22. Now Save all your file and Deploy the project.
23. Now we can test our deployed wcf service using WCF Test Client(open visual studio tools --> Visual Studio Command Prompt and run the commant wcftestclient)
24. Testing Service method from here
SO My Custom WCF Service Deployed Successfully and Working fine.
Now i want to Consume my custom wcf service in visual webpart and invoke service methods.
1. Create SharePoint Project using Visual Web part as template
2. Specify the SharePoint location for debugging.
Placing one text box , one button and one label in user control and Designed in a order.
Now adding Service reference. Right click on project select add service reference.
After adding the service reference solution explorer look like this
Now open usercontrol design and double click on button and write the following code in button click event
private static string websiteUrl = "http://demoshare:6969";
BasicHttpBinding binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
EndpointAddress endpoint =
new EndpointAddress(websiteUrl + "/_vti_bin/udaywcf/ukreddywcf.svc");
ConsumeUKReddyWCF.UdayWcfService.Service1Client
proxy = new ConsumeUKReddyWCF.UdayWcfService.Service1Client(binding, endpoint);
proxy.ClientCredentials.Windows.AllowedImpersonationLevel =
System.Security.Principal.TokenImpersonationLevel.Impersonation;
string str = proxy.GetSiteName();
if (txtNumber.Text.Trim() != "")
str += " and " + proxy.GetData(Convert.ToInt32(txtNumber.Text));
lblMsg.Text = str;
ConsumeUKReddyWCF.UdayWcfService.Service1Client
-- here ConsumeUKRReddyWCF is the namespace and UdayWcfSErvice is the service reference name and Service1Client is the class name.
Now deploy the project.
Here I added webpart to my home page.
Now we can see the Result from the web service. which returning site title name and text box entered value.
Reply
Answers (
1
)
How to Create, Deploy WCF service and Create External List Using WCF in SharePoint 2010
How to create an ASMX web service on sharepoint 2010 Using VS2010