Thank you. I forced to use Gson 2.5 but now I have problems with regions. When I use:
Set<String> regions = swiftApi.getConfiguredRegions(); I get an error: Request processing failed; nested exception is org.jclouds.http.HttpResponseException: command: POST http://192.168.0.58:8080/auth/v1.0/tokens HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [<html><h1>Bad Request</h1><p>The server could not comply with the request since it is either malformed or otherwise incorrect.</p></html>]] with root cause org.jclouds.http.HttpResponseException: command: POST http://192.168.0.58:8080/auth/v1.0/tokens HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [<html><h1>Bad Request</h1><p>The server could not comply with the request since it is either malformed or otherwise incorrect.</p></html>] at org.jclouds.openstack.swift.v1.handlers.SwiftErrorHandler.handleError(SwiftErrorHandler.java:46) at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:65) at org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:136) at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:105) at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44) at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156) at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123) at com.sun.proxy.$Proxy111.authenticateWithTenantNameAndCredentials(Unknown Source) at org.jclouds.openstack.keystone.v2_0.functions.AuthenticatePasswordCredentials.authenticateWithTenantName(AuthenticatePasswordCredentials.java:43) at org.jclouds.openstack.keystone.v2_0.functions.AuthenticatePasswordCredentials.authenticateWithTenantName(AuthenticatePasswordCredentials.java:31) at org.jclouds.openstack.keystone.v2_0.functions.internal.BaseAuthenticator.apply(BaseAuthenticator.java:79) at org.jclouds.openstack.keystone.v2_0.functions.internal.BaseAuthenticator.apply(BaseAuthenticator.java:36) at com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:148) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) at com.google.common.cache.LocalCache.get(LocalCache.java:3934) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) at org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:234) at org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:231) at org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:94) at org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:54) at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73) at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) at com.google.common.cache.LocalCache.get(LocalCache.java:3934) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119) at org.jclouds.location.suppliers.derived.RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeySet.java:45) at org.jclouds.location.suppliers.derived.RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeySet.java:33) at com.google.common.base.Suppliers$SupplierComposition.get(Suppliers.java:67) at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73) at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) at com.google.common.cache.LocalCache.get(LocalCache.java:3934) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119) at org.jclouds.rest.internal.DelegatesToInvocationFunction.getInstanceOfTypeWithQualifier(DelegatesToInvocationFunction.java:277) at org.jclouds.rest.internal.DelegatesToInvocationFunction.lookupValueFromGuice(DelegatesToInvocationFunction.java:234) at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:152) at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123) at com.sun.proxy.$Proxy114.getConfiguredRegions(Unknown Source) at com.fyfine.loader.controller.PersonController.getRegions(PersonController.java:112) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Here is an spring's output: {"timestamp":1473877865201,"status":500,"error":"Internal Server Error","exception":"org.jclouds.http.HttpResponseException","message":"command: POST http://192.168.0.58:8080/auth/v1.0/tokens HTTP/1.1 failed with response: HTTP/1.1 400 Bad Request; content: [<html><h1>Bad Request</h1><p>The server could not comply with the request since it is either malformed or otherwise incorrect.</p></html>]","path":"/get_regions"} Can you help me please with this error? Best regards, Alexandr On Wed, Sep 14, 2016 at 9:13 PM, Ignasi Barrera <n...@apache.org> wrote: > If you use Spring Boot 1.4, then you might be affected by JCLOUDS-1160 > [1], as it comes with a Gson version newer than the one supported by > jclouds. See the issue and the linked one for more details. > > If that is your case, is there any chance you can force a version of > Gson <= 2.5? > > > > [1] https://issues.apache.org/jira/browse/JCLOUDS-1160 > > On 14 September 2016 at 20:07, Alexandr Porunov > <alexandr.poru...@gmail.com> wrote: > > I use 1.9.2 version of jclouds as in the example. > > Here is my gradle dependencies: > > > > compile group: 'org.apache.jclouds.driver', name: 'jclouds-slf4j', > version: > > '1.9.2' > > compile group: 'org.apache.jclouds.driver', name: 'jclouds-sshj', > version: > > '1.9.2' > > compile group: 'org.apache.jclouds.api', name: 'openstack-swift', > version: > > '1.9.2' > > compile group: 'org.apache.jclouds.labs', name: 'openstack-marconi', > > version: '1.9.2' > > > > > > I don't use gson. But I use spring-boot framework. It may use gson. I am > not > > sure. But I don't see it in External Libraries. > > > > Also I tried to use: > > SwiftApi swiftApi = ContextBuilder.newBuilder("openstack-swift") > > .endpoint("http://192.168.0.58:8080/auth/v1.0") > > .credentials("admin:admin", "admin") > > .buildApi(SwiftApi.class); > > > > It shows the same error. > > > > My OpenStack Swift works if I use curl: > > > > //authenticate > > curl -v -H 'X-Auth-User: admin:admin' -H 'X-Auth-Key: admin' > > http://192.168.0.58:8080/auth/v1.0/ > > > > //check containers > > curl -v -H 'X-Storage-Token: AUTH_tk1411104de43046aca9b371c27c3b1fad' > > http://192.168.0.58:8080/v1/AUTH_admin/ > > > > //create a container > > curl -v -H 'X-Storage-Token: AUTH_tk1411104de43046aca9b371c27c3b1fad' > -X PUT > > http://192.168.0.58:8080/v1/AUTH_admin/mycontainer > > > > //upload file > > swift -A http://192.168.0.58:8080/auth/v1.0/ -U admin:admin -K admin > upload > > mycontainer some_file > > > > //get file > > curl -v -H 'X-Auth-Token: AUTH_tk1411104de43046aca9b371c27c3b1fad' -X > GET > > http://192.168.0.58:8080/v1/AUTH_admin/mycontainer/some_file > > > > Sincerely, > > Alexandr > > > > > > On Wed, Sep 14, 2016 at 8:56 PM, Ignasi Barrera <n...@apache.org> wrote: > >> > >> Which version of jclouds are you using? Are you using Gson too in your > >> project? In that case, which version of Gson are you using? > >> > >> On 14 September 2016 at 19:45, Alexandr Porunov > >> <alexandr.poru...@gmail.com> wrote: > >> > Hello, > >> > > >> > How to use jclouds with OpenStack Swift? > >> > > >> > Here is my code: > >> > SwiftApi swiftApi = ContextBuilder.newBuilder("openstack-swift") > >> > .endpoint("http://192.168.0.58:8080/v1/") > >> > .credentials("admin:admin", "admin") > >> > .buildApi(SwiftApi.class); > >> > > >> > I use tempauth in OpenStack Swift. Here is my configs: > >> > [filter:tempauth] > >> > use = egg:swift#tempauth > >> > user_admin_admin = admin .admin .reseller_admin > >> > user_test_tester = testing .admin > >> > user_test2_tester2 = testing2 .admin > >> > user_test_tester3 = testing3 > >> > > >> > I can not create swiftApi because I always get next error: > >> > Exception in thread "main" java.lang.reflect. > InvocationTargetException > >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > >> > at > >> > > >> > sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > >> > at > >> > > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > >> > at java.lang.reflect.Method.invoke(Method.java:497) > >> > at > >> > > >> > org.springframework.boot.loader.MainMethodRunner.run( > MainMethodRunner.java:48) > >> > at > >> > org.springframework.boot.loader.Launcher.launch(Launcher.java:87) > >> > at > >> > org.springframework.boot.loader.Launcher.launch(Launcher.java:50) > >> > at > >> > org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58) > >> > Caused by: java.lang.NoSuchMethodError: > >> > > >> > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.< > init>(Lcom/google/gson/internal/ConstructorConstructor;Lcom/google/gson/ > FieldNamingStrategy;Lcom/google/gson/internal/Excluder;)V > >> > at > >> > > >> > org.jclouds.json.internal.DeserializationConstructorAndR > eflectiveTypeAdapterFactory.<init>(DeserializationConstructorAndR > eflectiveTypeAdapterFactory.java:116) > >> > at > >> > org.jclouds.json.config.GsonModule.provideGson(GsonModule.java:129) > >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > >> > at > >> > > >> > sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > >> > at > >> > > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > >> > at java.lang.reflect.Method.invoke(Method.java:497) > >> > at > >> > com.google.inject.internal.ProviderMethod.get( > ProviderMethod.java:104) > >> > at > >> > > >> > com.google.inject.internal.InternalFactoryToProviderAdapter.get( > InternalFactoryToProviderAdapter.java:40) > >> > at > >> > > >> > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call( > ProviderToInternalFactoryAdapter.java:46) > >> > at > >> > > >> > com.google.inject.internal.InjectorImpl.callInContext( > InjectorImpl.java:1031) > >> > at > >> > > >> > com.google.inject.internal.ProviderToInternalFactoryAdapter.get( > ProviderToInternalFactoryAdapter.java:40) > >> > at com.google.inject.Scopes$1$1.get(Scopes.java:65) > >> > at > >> > > >> > com.google.inject.internal.InternalFactoryToProviderAdapter.get( > InternalFactoryToProviderAdapter.java:40) > >> > at > >> > > >> > com.google.inject.internal.SingleParameterInjector.inject( > SingleParameterInjector.java:38) > >> > at > >> > > >> > com.google.inject.internal.SingleParameterInjector.getAll( > SingleParameterInjector.java:62) > >> > at > >> > > >> > com.google.inject.internal.ConstructorInjector.construct( > ConstructorInjector.java:84) > >> > at > >> > > >> > com.google.inject.internal.ConstructorBindingImpl$Factory.get( > ConstructorBindingImpl.java:254) > >> > at > >> > > >> > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call( > ProviderToInternalFactoryAdapter.java:46) > >> > at > >> > > >> > com.google.inject.internal.InjectorImpl.callInContext( > InjectorImpl.java:1031) > >> > at > >> > > >> > com.google.inject.internal.ProviderToInternalFactoryAdapter.get( > ProviderToInternalFactoryAdapter.java:40) > >> > at com.google.inject.Scopes$1$1.get(Scopes.java:65) > >> > at > >> > > >> > com.google.inject.internal.InternalFactoryToProviderAdapter.get( > InternalFactoryToProviderAdapter.java:40) > >> > at > >> > com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54) > >> > at > >> > > >> > com.google.inject.internal.InternalInjectorCreator$1. > call(InternalInjectorCreator.java:204) > >> > at > >> > > >> > com.google.inject.internal.InternalInjectorCreator$1. > call(InternalInjectorCreator.java:198) > >> > at > >> > > >> > com.google.inject.internal.InjectorImpl.callInContext( > InjectorImpl.java:1024) > >> > at > >> > > >> > com.google.inject.internal.InternalInjectorCreator. > loadEagerSingletons(InternalInjectorCreator.java:198) > >> > at > >> > > >> > com.google.inject.internal.InternalInjectorCreator.injectDynamically( > InternalInjectorCreator.java:179) > >> > at > >> > > >> > com.google.inject.internal.InternalInjectorCreator.build( > InternalInjectorCreator.java:109) > >> > at com.google.inject.Guice.createInjector(Guice.java:95) > >> > at > >> > org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:402) > >> > at > >> > org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:326) > >> > at org.jclouds.ContextBuilder.buildApi(ContextBuilder.java: > 644) > >> > at org.jclouds.ContextBuilder.buildApi(ContextBuilder.java: > 636) > >> > at com.fyfine.loader.Application.main(Application.java:26) > >> > ... 8 more > >> > > >> > Please, help me connect to OpenStack Swift > >> > > >> > Sincerely, > >> > Alexandr > > > > >