public static HttpRequestMessage CreateDataContractGetRequest(MediaTypeWithQualityHeaderValue mediaType) { HttpRequestMessage request = GenericWebService.GetRequest(); request.Headers.Accept.Add(mediaType); return(request); }
public void GetReadAsXml() { IEnumerable <TestData> testData = TestData.RepresentativeValueAndRefTypeTestDataCollection; TestDataVariations variations = TestDataVariations.AllNonInterfaces; XmlMediaTypeFormatter formatter = new XmlMediaTypeFormatter(); MediaTypeFormatter[] formatters = new MediaTypeFormatter[] { formatter }; TestDataAssert.Execute( testData, variations, "ObjectContent serializing using the Xml DataContractSerializer failed.", (type, obj) => { GenericWebService service = GenericWebService.GetServiceInstance(type, obj.GetType()); service.OnGetReturnInstance = () => obj; HttpServiceHostAssert.Execute( service, GenericWebService.GetRequest(), (response) => { Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "Response status code should have been a 200."); formatter.SetSerializer(type, new DataContractSerializer(type, new Type[] { obj.GetType() })); string stringContent = response.Content.ReadAsString(); object readObj = response.Content.ReadAs(type, formatters); TestDataAssert.AreEqual(obj, readObj, string.Format("Failed to round trip type '{0}'. Content was:\r\n{1}.", type.Name, stringContent)); }); }); }