Java 小程序中的Jersey客户端不';t解析JSON

Java 小程序中的Jersey客户端不';t解析JSON,java,json,applet,jersey-client,Java,Json,Applet,Jersey Client,我有一个简单的应用程序,可以作为小程序和独立应用程序使用。 它向REST服务发送一个请求,并尝试显示结果,即列表 城市等级代码如下: @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class City implements Serializable { private Integer cityId; private String name; public Integer getCityId()

我有一个简单的应用程序,可以作为小程序和独立应用程序使用。 它向REST服务发送一个请求,并尝试显示结果,即
列表

城市等级代码如下:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class City implements Serializable {

    private Integer cityId;
    private String name;

    public Integer getCityId() {
        return cityId;
    }

    public void setCityId(Integer cityId) {
        this.cityId = cityId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
它使用jersey-bundle-1.17发送请求并获得响应

发送请求和获取响应的代码:

ClientConfig clientConfig = new DefaultClientConfig();
clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
Client c = Client.create(clientConfig);
List<City> result = c.resource(resource url here).get(new GenericType<java.util.List<City>>(){});
ClientConfig ClientConfig=newdefaultclientconfig();
clientConfig.getFeatures().put(JSONConfiguration.FEATURE\u POJO\u映射,Boolean.TRUE);
Client c=Client.create(clientConfig);
List result=c.resource(此处为资源url).get(new-GenericType(){});
在构建应用程序之后,我有两个jar文件——我的应用程序的MyJar.jar和jersey-bundle-1.17.jar。jersey的类路径在MyJar.jar的清单中指定

当我作为一个独立的应用程序(java-jarmyjar.jar)运行我的jar文件时,一切都正常,请求被发送,响应被接收,并反序列化到
列表中。
当我在发送applet(在html页面或appletviewer中)请求时运行jar文件时,会收到响应,但它无法对
列表的响应进行反序列化

A message body reader for Java class java.util.List, and Java type java.util.List<City>, and MIME media type application/json was not found
未找到Java类Java.util.List、Java类型Java.util.List和MIME媒体类型application/json的消息体读取器
我尝试将JacksonJsonProvider.class添加到Jersey提供者列表中,尝试反序列化为String和City[]——它总是说从applet运行时找不到合适的消息体读取器。当作为桌面应用程序运行时,一切正常

Applet确实加载了jersy bundle jar,正如我在服务器访问日志中看到的那个样,请求被发送了,但它看起来并没有正确加载(可能它在加载时忽略了jersy bundle jar的清单,我不知道)。只有在从小程序执行代码时才会出现问题


有人能帮我吗?

问题是Jersey读取属性并使用反射,所有这些操作都被禁止用于不受信任的小程序。这并不明显,因为Java控制台中没有错误。我必须将解析代码放入try/catch块,捕获任何可丢弃的内容并将其打印到控制台,只有这样我才能看到有关安全限制的错误

为了解决这个问题,我必须对applet jar文件、jersey jar文件和jersey使用的所有其他lib进行自签名