ContainX / openstack4j

A Fluent OpenStack SDK / Client Library for Java
http://openstack4j.com
Other
290 stars 368 forks source link

image v2 update 415 Unsupported Media Type #1168

Open wumingcheng opened 6 years ago

wumingcheng commented 6 years ago

@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.

Cherry522 commented 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.

LmV4corbeau commented 5 years ago

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)
LmV4corbeau commented 5 years ago

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",