1
votes

I am trying to pass XLIFF content in the parameter of following function, I am getting error:

public IHttpActionResult ProcessSmartlingTranslation([FromBody]xliff xliff)
       {
           return Content(HttpStatusCode.BadRequest, "Any object");
       }

{ "message": "The request entity's media type 'application/xml' is not supported for this resource.", "exceptionMessage": "No MediaTypeFormatter is available to read an object of type 'xliff' from content with media type 'application/xml'.", "exceptionType": "System.Net.Http.UnsupportedMediaTypeException", "stackTrace": " at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)" }

How would i solve the issue?

Complete code is below:

// <summary>
   /// XliffModel created
   /// </summary>
   public class xliff
   {
       /// <summary>
       /// file getter setter method
       /// </summary>
       public string file { get; set; }
       /// <summary>
       /// body getter setter method
       /// </summary>
       public string body { get; set; }
   }
   /// <summary>
   /// Web api for smartling translation processing
   /// </summary>
   /// <seealso cref="ApiController" />
   public class SmartlingController : ApiController
   {
       #region Public Methods

       /// <summary>
       /// Get or insert blog comments which is approved based on blogs
       /// </summary>
       /// <remarks> Get or insert blog comments which is approved based on blogs</remarks>
       /// <param name="message">The comment.</param>
       /// <response code="200">Get approved blog comments</response>
       /// <response code="404">Not found</response>
       /// <returns>IHttpActionResult</returns>
       [Route("api/smartling/ProcessSmartlingTranslation")]
       [VersionedRoute("", 1)]
       [ResponseType(typeof(HttpResponseMessage))]
       [HttpPost]
       public IHttpActionResult ProcessSmartlingTranslation([FromBody]xliff xlf)
       {
           return Content(HttpStatusCode.BadRequest, "Any object");
       }
       #endregion
   }
1
what is your request content type – levent
xliff format it is application/xliff+xml or application/xliff+xml – SmartestVEGA

1 Answers

0
votes

when I check default xml media file formatter, it is look like..

enter image description here

I do not know what will happen, if adding manual. may be need customize serialization..

            config.Formatters.XmlFormatter
            .SupportedMediaTypes
            .Add(new System.Net.Http.Headers.MediaTypeHeaderValue("application/xliff+xml"));