Open wumingcheng opened 6 years ago
I have the same problem when I used the 3.1.1 version. But is ok when I used the 3.0.4 version.
Me to. I get the following Exception with Version 3.1.1-Snapshot
org.openstack4j.api.exceptions.ClientResponseException: Unsupported Media Type
at org.openstack4j.core.transport.HttpExceptionHandler.mapException(HttpExceptionHandler.java:38)
at org.openstack4j.core.transport.HttpExceptionHandler.mapException(HttpExceptionHandler.java:23)
at org.openstack4j.core.transport.HttpEntityHandler.handleLessThan500(HttpEntityHandler.java:101)
at org.openstack4j.core.transport.HttpEntityHandler.handle(HttpEntityHandler.java:47)
at org.openstack4j.connectors.resteasy.HttpResponseImpl.getEntity(HttpResponseImpl.java:64)
at org.openstack4j.openstack.internal.BaseOpenStackService$Invocation.execute(BaseOpenStackService.java:225)
at org.openstack4j.openstack.internal.BaseOpenStackService$Invocation.execute(BaseOpenStackService.java:207)
at org.openstack4j.openstack.image.v2.internal.ImageServiceImpl.update(ImageServiceImpl.java:110)
I found out that this bug occurs with the connector jersey. When using apache-httpclient this bug does not occur.
I found my solution as follows:
// scala sbt
"org.pacesys" % "openstack4j-core" % "3.1.1-SNAPSHOT",
"org.pacesys.openstack4j.connectors" % "openstack4j-httpclient" % "3.1.1-SNAPSHOT",
@Test public void testUpdate() { List ops = Lists.newArrayList();
PatchOperation op = new PatchOperation(OperationType.ADD, "/test", "test");
ops.add(op);
Image t = os.useRegion("RegionOne").v2Images().update("df3ecac7-98c5-4067-bd7b-920a45d81746",
Builders.v2ImageUpdate().ops(ops).build());
System.out.println(t);
}
response: status=415, reason=Unsupported Media Type
I see the Content-Type is application/openstack-images-v2.0-json-patch, application/openstack-images-v2.1-json-patch, but I also got this error.