Это проявляется как исключение безопасности, но проблема действительно в плохом URL. Если вы проследуете за стеком, вы увидите, что существует исключение MalformedURLE.
Это, скорее всего, вызвано передачей URI где-то, который ожидал URL. Через API LiveConnect, судя по всему. Я предполагаю, что он не находит имя хоста там, где его ожидают, и пытается подключиться к стандартному, возможно, локальному хосту. Это запрещено пока SecurityManager и, следовательно, SecurityException.
В href вы можете использовать URI (например, HREF = "/ somepath"), потому что браузер разрешает это по URL для самой страницы, чтобы получить полный URL (например, http://example.com/somepath).
Вы можете сделать это в Java, используя [соответствующий конструктор URL] [1].
Обновление:
Ах, я неправильно понял; Я думал, что это была одна трассировка стека.
Раньше была ошибка, когда liveconnect мог получить доступ к jar: url и получить произвольное соединение с сокетом. Исправление для этого может вызывать проблему с открытием соединений url из потока liveconnect. Что произойдет, если в методе buy
вы запустите поток для выполнения соединения?
[1]: http://download.oracle.com/javase/6/docs/api/java/net/URL.html#URL(java.net.URL, java.lang.String)