Создание службы pkpass в springboot - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь создать две службы отдыха для pkpass с springboot.Один, который создает файлы pkpass на основе некоторых параметров, а другой - pkpass.Созданный мной pkpass работает с Pass2U Wallet в устройствах Android.Однако всякий раз, когда я открываю файл в Safari в iOS 10.3.3 в iphone 5c, я получаю сообщение об ошибке: «Ошибка загрузки: Safari не может загрузить этот файл».Код, который я реализовал для получения pkpass:

    @RestController
public class PKPassController {

    @RequestMapping(method = RequestMethod.GET, value = "/webservice/getpkpass", headers = "Accept=application/json", produces = "application/vnd.apple.pkpass")
    @ResponseBody
    public ResponseEntity<Resource> getPKPass() throws IOException {

            URL url = getClass().getClassLoader().getResource("tmp/test.pkpass");
            InputStream in = new FileInputStream(url.getPath());
            File file = new File(url.getPath());
            InputStreamResource resource = new InputStreamResource(new FileInputStream(file));
            HttpHeaders headers = new HttpHeaders();
            headers.add("Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
            headers.add("Pragma", "no-cache");
            headers.add("Expires", "0");
            headers.add("Content-Type","application/vnd.apple.pkpass");
            headers.add("Content-Disposition","attachment; filename='test.pkpass'");
            headers.add("Content-Length",Long.toString(file.length()));


            return ResponseEntity.ok()
                    .headers(headers)
                    .body(resource);

    }
}

Я не уверен, что мне следует проверить дальше.Я не уверен, что что-то не так с сертификатом или с тем, как я внедрил службу.

Спасибо

...