zencoder/zencoder-java

IllegalArgumentException: Unrecognized Type: [null]

Opened this issue · 1 comments

Two things that I want to mention

  1. After a small struggle I have found something related to HttpRequest
  • My request should be POST but RestTemplate is creating it as GET not sure why.
    capture
    1. Facing IllegalArgumentException because mediaType and ctx in TypeFactory are null not sure how.
      capture1
      TRACE
      java.lang.IllegalArgumentException: Unrecognized Type: [null]
      at com.fasterxml.jackson.databind.type.TypeFactory._fromAny(TypeFactory.java:1109)
      at com.fasterxml.jackson.databind.type.TypeFactory.constructType(TypeFactory.java:566)
      at com.fasterxml.jackson.databind.type.TypeFactory.constructType(TypeFactory.java:602)
      at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.getJavaType(AbstractJackson2HttpMessageConverter.java:281)
      at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead(AbstractJackson2HttpMessageConverter.java:138)
      at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead(AbstractJackson2HttpMessageConverter.java:133)
      at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.doWithRequest(RestTemplate.java:672)
      at org.springframework.web.client.RestTemplate$HttpEntityRequestCallback.doWithRequest(RestTemplate.java:738)
      at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:558)
      at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:529)
      at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:448)
      at com.brightcove.zencoder.client.ZencoderClient.createZencoderJob(ZencoderClient.java:142)
      at com.tchadv.messaging.services.ZencoderService.test(ZencoderService.java:36)
      at com.tchadv.messaging.controllers.MessageController.index(MessageController.java:67)
      at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.apply(Routes.scala:190)
      at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.apply(Routes.scala:190)
      at play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:157)
      at play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:156)
      at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$14$$anon$3$$anon$1.invocation(HandlerInvoker.scala:136)
      at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:73)
      at play.http.HttpRequestHandler$1.call(HttpRequestHandler.java:54)
      at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:108)
      at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:108)
      at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
      at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
      at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:56)
      at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70)
      at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:48)
      at scala.concurrent.impl.Future$.apply(Future.scala:31)
      at scala.concurrent.Future$.apply(Future.scala:492)
      at play.core.j.JavaAction.apply(JavaAction.scala:108)
      at play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5$$anonfun$apply$6.apply(Action.scala:112)
      at play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5$$anonfun$apply$6.apply(Action.scala:112)
      at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
      at play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5.apply(Action.scala:111)
      at play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5.apply(Action.scala:110)
      at scala.Option.map(Option.scala:146)
      at play.api.mvc.Action$$anonfun$apply$2.apply(Action.scala:110)
      at play.api.mvc.Action$$anonfun$apply$2.apply(Action.scala:103)
      at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251)
      at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:249)
      at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
      at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
      at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:91)
      at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
      at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
      at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
      at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:90)
      at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)
      at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:405)
      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Is there any thing addition to make the request work?

Example code

    ZencoderClient client = new ZencoderClient("API_KEY");
    ZencoderCreateJobRequest job = new ZencoderCreateJobRequest();
    job.setInput("LINK_TO_S3.mp4");
    List<ZencoderOutput> outputs = new ArrayList<ZencoderOutput>();

    ZencoderOutput output1 = new ZencoderOutput();
    output1.setFormat(ContainerFormat._3GP);
    job.setOutputs(outputs);
    ZencoderCreateJobResponse response = client.createZencoderJob(job);