前提・実現したいこと
SpringBootからRestTemplateを使用しproxmoxのWebApiからJSON形式のデータを取得するシステムを作っています。
情報を取得する処理を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
org.springframework.web.client.HttpServerErrorException: 506 upload 'Content-Type 'application/json;charset=UTF-8' not implemented at org.springframework.web.client.HttpServerErrorException.create(HttpServerErrorException.java:89) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:124) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:102) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:778) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:736) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:670) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:414) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
該当のソースコード
JAVA
1package com.proxmox.api.service; 2 3import org.springframework.stereotype.Service; 4import org.springframework.util.MultiValueMap; 5import org.springframework.web.client.RestTemplate; 6 7import com.proxmox.api.model.ProxmoxApiModel; 8@Service 9public class SlackProxmoxService { 10 11 public final String proxmoxGetTicketUri = "https://XXX.XXX.XXX.XXX:8006/api2/text/access/ticket"; 12 13 public String startProxmoxService(MultiValueMap param) { 14 ProxmoxApiModel proxmoxApiParam = new ProxmoxApiModel(); 15 16 proxmoxApiParam.setUsername(param.get("username").toString()); 17 proxmoxApiParam.setPassword(param.get("password").toString()); 18 19 RestTemplate restTemplate = new RestTemplate(); 20 21 Object test = restTemplate.postForObject(proxmoxGetTicketUri, proxmoxApiParam, Object.class); 22 return ""; 23 24 } 25 26} 27
試したこと
補足情報(FW/ツールのバージョンなど)
WebApiの結果としては以下が帰ってきます
{
"data": {
"username": "XXXXX",
"cap": {
"nodes": {
"Sys.Modify": 1,
"Sys.Console": 1,
"Sys.Audit": 1,
"Sys.Syslog": 1,
"Sys.PowerMgmt": 1,
"Permissions.Modify": 1
},
"vms": {
"VM.Clone": 1,
"VM.Console": 1,
"VM.Monitor": 1,
"VM.Config.HWType": 1,
"VM.Backup": 1,
"VM.Config.Memory": 1,
"VM.Snapshot": 1,
"VM.Config.Options": 1,
"VM.Migrate": 1,
"VM.Config.CDROM": 1,
"VM.Allocate": 1,
"VM.Audit": 1,
"VM.Config.CPU": 1,
"VM.PowerMgmt": 1,
"VM.Snapshot.Rollback": 1,
"VM.Config.Network": 1,
"Permissions.Modify": 1,
"VM.Config.Disk": 1
},
"access": {
"Permissions.Modify": 1,
"User.Modify": 1,
"Group.Allocate": 1
},
"dc": {
"Sys.Audit": 1
},
"storage": {
"Datastore.Audit": 1,
"Datastore.Allocate": 1,
"Permissions.Modify": 1,
"Datastore.AllocateSpace": 1,
"Datastore.AllocateTemplate": 1
}
},
"CSRFPreventionToken": "XXXXX",
"ticket": "XXXXX"
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。