Solved

Really simple WCF Service using JQuery keep getting error 415 unsupported media type

Posted on 2008-10-15
1
4,950 Views
Last Modified: 2012-05-05
I wrote a very simple WCF service with one operation contract that returns a list of points. I then wanted to use JQuery to consume the service and get the list of points on to a web page.  I was following Rick Strahl's blog: http://www.west-wind.com/weblog/posts/324917.aspx.

I keep geeting the error: 415 unsupported media type

Please could you let me know where I'm going wrong. Thanks!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Web;
 
namespace Contracts
{
    [ServiceContract(Name = "TestService", Namespace = "Contracts")]
    public interface ITestService
    {
        [OperationContract]
        [WebInvoke(
            Method = "POST", 
            BodyStyle = WebMessageBodyStyle.Wrapped, 
            ResponseFormat = WebMessageFormat.Json)]
        List<Point> Search();
    }
}
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
 
namespace Contracts
{
    [DataContract]
    public class Point
    {
        [DataMember]
        public double X { get; set; }
        [DataMember]
        public double Y { get; set; }
    }
}
 
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript" src="http://www.json.org/json2.js"></script>
 
        function Run() {
            var url = "http://localhost:1436/services/testservice.svc/Search";
            var json = JSON.stringify("");
            
            $.ajax({
                url: url,
                data: json,
                type: "POST",
                processData: false,
                contentType: "application/json",
                timeout: 10000,
                dataType: "text",
                success: function(result) { alert("Success"); },
                error: function(result) { alert("Error"); }
            });           
        }

Open in new window

0
Comment
Question by:dnoxs
1 Comment
 
LVL 2

Accepted Solution

by:
dnoxs earned 0 total points
ID: 22721626
Figured it out. I had the incorrect web config it should have looked as follows:
	<system.serviceModel>
		<behaviors>
			<endpointBehaviors>
				<behavior name="WebBehavior">
					<webHttp />
				</behavior>
			</endpointBehaviors>			
			<serviceBehaviors>
				<behavior name="Portal.Services.TestServiceBehavior">
					<serviceMetadata httpGetEnabled="true" httpGetUrl="" />
					<serviceDebug includeExceptionDetailInFaults="false" />
				</behavior>
			</serviceBehaviors>
		</behaviors>
		<services>
			<service behaviorConfiguration="Portal.Services.TestServiceBehavior"
			 name="Portal.Services.TestService">
				<endpoint address="" binding="webHttpBinding" behaviorConfiguration="WebBehavior" contract="Contracts.ITestService">
					<identity>
						<dns value="localhost" />
					</identity>
				</endpoint>
				<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
			</service>
		</services>
	</system.serviceModel>	

Open in new window

0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

861 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question