Closed GoogleCodeExporter closed 9 years ago
What steps will reproduce the problem? 1. Create this POJO (this is generated by Hibernate reverse engineering tool) package com.alinean.network.orm.entities; // Generated Nov 29, 2012 4:41:16 PM by Hibernate Tools 3.2.1.GA import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; import java.util.HashSet; import java.util.Set; /** * Community generated by hbm2java */ @Entity @Table(name="community" ,catalog="network" ) public class Community implements java.io.Serializable { private String communityId; private String name; private byte status; private boolean privateCommunity; private String blacklist; private String manager; private String networkContact; private boolean allowDisclosureLevel; private String disclosureText; private long createdTimestamp; private Long modifiedTimestamp; private Long expirationTimestamp; private byte[] brandingLogo; private Set<UserCommunityDisclosure> userCommunityDisclosures = new HashSet<UserCommunityDisclosure>(0); private Set<CommunityRegistration> communityRegistrations = new HashSet<CommunityRegistration>(0); private Set<CommunityActionResponse> communityActionResponses = new HashSet<CommunityActionResponse>(0); private Set<UserCommunitySubscription> userCommunitySubscriptions = new HashSet<UserCommunitySubscription>(0); private Set<CommunitySubscription> communitySubscriptions = new HashSet<CommunitySubscription>(0); private Set<CommunityRole> communityRoles = new HashSet<CommunityRole>(0); private Set<VignetteLibrary> vignetteLibraries = new HashSet<VignetteLibrary>(0); private Set<Group> groups = new HashSet<Group>(0); public Community() { } public Community(String communityId, String name, byte status, boolean privateCommunity, String manager, String networkContact, boolean allowDisclosureLevel, long createdTimestamp) { this.communityId = communityId; this.name = name; this.status = status; this.privateCommunity = privateCommunity; this.manager = manager; this.networkContact = networkContact; this.allowDisclosureLevel = allowDisclosureLevel; this.createdTimestamp = createdTimestamp; } public Community(String communityId, String name, byte status, boolean privateCommunity, String blacklist, String manager, String networkContact, boolean allowDisclosureLevel, String disclosureText, long createdTimestamp, Long modifiedTimestamp, Long expirationTimestamp, byte[] brandingLogo, Set<UserCommunityDisclosure> userCommunityDisclosures, Set<CommunityRegistration> communityRegistrations, Set<CommunityActionResponse> communityActionResponses, Set<UserCommunitySubscription> userCommunitySubscriptions, Set<CommunitySubscription> communitySubscriptions, Set<CommunityRole> communityRoles, Set<VignetteLibrary> vignetteLibraries, Set<Group> groups) { this.communityId = communityId; this.name = name; this.status = status; this.privateCommunity = privateCommunity; this.blacklist = blacklist; this.manager = manager; this.networkContact = networkContact; this.allowDisclosureLevel = allowDisclosureLevel; this.disclosureText = disclosureText; this.createdTimestamp = createdTimestamp; this.modifiedTimestamp = modifiedTimestamp; this.expirationTimestamp = expirationTimestamp; this.brandingLogo = brandingLogo; this.userCommunityDisclosures = userCommunityDisclosures; this.communityRegistrations = communityRegistrations; this.communityActionResponses = communityActionResponses; this.userCommunitySubscriptions = userCommunitySubscriptions; this.communitySubscriptions = communitySubscriptions; this.communityRoles = communityRoles; this.vignetteLibraries = vignetteLibraries; this.groups = groups; } @Id @GenericGenerator(name="id", strategy="com.alinean.network.orm.generators.RandomUUIDGenerator") @GeneratedValue(generator="id") @Column(name="community_id", unique=true, nullable=false, length=36) public String getCommunityId() { return this.communityId; } public void setCommunityId(String communityId) { this.communityId = communityId; } @Column(name="name", nullable=false, length=128) public String getName() { return this.name; } public void setName(String name) { this.name = name; } @Column(name="status", nullable=false) public byte getStatus() { return this.status; } public void setStatus(byte status) { this.status = status; } @Column(name="private_community", nullable=false) public boolean isPrivateCommunity() { return this.privateCommunity; } public void setPrivateCommunity(boolean privateCommunity) { this.privateCommunity = privateCommunity; } @Column(name="blacklist") public String getBlacklist() { return this.blacklist; } public void setBlacklist(String blacklist) { this.blacklist = blacklist; } @Column(name="manager", nullable=false, length=65535) public String getManager() { return this.manager; } public void setManager(String manager) { this.manager = manager; } @Column(name="network_contact", nullable=false, length=65535) public String getNetworkContact() { return this.networkContact; } public void setNetworkContact(String networkContact) { this.networkContact = networkContact; } @Column(name="allow_disclosure_level", nullable=false) public boolean isAllowDisclosureLevel() { return this.allowDisclosureLevel; } public void setAllowDisclosureLevel(boolean allowDisclosureLevel) { this.allowDisclosureLevel = allowDisclosureLevel; } @Column(name="disclosure_text") public String getDisclosureText() { return this.disclosureText; } public void setDisclosureText(String disclosureText) { this.disclosureText = disclosureText; } @Column(name="created_timestamp", nullable=false) public long getCreatedTimestamp() { return this.createdTimestamp; } public void setCreatedTimestamp(long createdTimestamp) { this.createdTimestamp = createdTimestamp; } @Column(name="modified_timestamp") public Long getModifiedTimestamp() { return this.modifiedTimestamp; } public void setModifiedTimestamp(Long modifiedTimestamp) { this.modifiedTimestamp = modifiedTimestamp; } @Column(name="expiration_timestamp") public Long getExpirationTimestamp() { return this.expirationTimestamp; } public void setExpirationTimestamp(Long expirationTimestamp) { this.expirationTimestamp = expirationTimestamp; } @Column(name="branding_logo") public byte[] getBrandingLogo() { return this.brandingLogo; } public void setBrandingLogo(byte[] brandingLogo) { this.brandingLogo = brandingLogo; } @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="community") public Set<UserCommunityDisclosure> getUserCommunityDisclosures() { return this.userCommunityDisclosures; } public void setUserCommunityDisclosures(Set<UserCommunityDisclosure> userCommunityDisclosures) { this.userCommunityDisclosures = userCommunityDisclosures; } @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="community") public Set<CommunityRegistration> getCommunityRegistrations() { return this.communityRegistrations; } public void setCommunityRegistrations(Set<CommunityRegistration> communityRegistrations) { this.communityRegistrations = communityRegistrations; } @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="community") public Set<CommunityActionResponse> getCommunityActionResponses() { return this.communityActionResponses; } public void setCommunityActionResponses(Set<CommunityActionResponse> communityActionResponses) { this.communityActionResponses = communityActionResponses; } @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="community") public Set<UserCommunitySubscription> getUserCommunitySubscriptions() { return this.userCommunitySubscriptions; } public void setUserCommunitySubscriptions(Set<UserCommunitySubscription> userCommunitySubscriptions) { this.userCommunitySubscriptions = userCommunitySubscriptions; } @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="community") public Set<CommunitySubscription> getCommunitySubscriptions() { return this.communitySubscriptions; } public void setCommunitySubscriptions(Set<CommunitySubscription> communitySubscriptions) { this.communitySubscriptions = communitySubscriptions; } @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="community") public Set<CommunityRole> getCommunityRoles() { return this.communityRoles; } public void setCommunityRoles(Set<CommunityRole> communityRoles) { this.communityRoles = communityRoles; } @ManyToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY) @JoinTable(name="community_vignette_library", catalog="network", uniqueConstraints=@UniqueConstraint(columnNames="vignette_library_id"), joinColumns = { @JoinColumn(name="community_id", nullable=false, updatable=false) }, inverseJoinColumns = { @JoinColumn(name="vignette_library_id", unique=true, nullable=false, updatable=false) }) public Set<VignetteLibrary> getVignetteLibraries() { return this.vignetteLibraries; } public void setVignetteLibraries(Set<VignetteLibrary> vignetteLibraries) { this.vignetteLibraries = vignetteLibraries; } @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="community") public Set<Group> getGroups() { return this.groups; } public void setGroups(Set<Group> groups) { this.groups = groups; } @Override public String toString() { return "Community{" + "communityId=" + communityId + ", name=" + name + ", status=" + status + ", privateCommunity=" + privateCommunity + ", manager=" + manager + ", networkContact=" + networkContact + ", allowDisclosureLevel=" + allowDisclosureLevel + ", createdTimestamp=" + createdTimestamp + ", modifiedTimestamp=" + modifiedTimestamp + ", expirationTimestamp=" + expirationTimestamp + '}'; } } 2. Try to convert a Community object from a JSON text using: //Convert the JSON string to community Gson gson = new Gson(); community = gson.fromJson(communityJSON, Community.class); 3. This is the JSON: "{"communityId":null,"name":"Image6","status":1,"privateCommunity":false,"blackl ist":null,"manager":"avillalobos@alinean.com","networkContact":"avillalobos@alin ean.com","allowDisclosureLevel":false,"disclosureText":null,"createdTimestamp":0 ,"modifiedTimestamp":null,"expirationTimestamp":null,"brandingLogo":"/9j/4AAQSkZ JRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAc HCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAC2AcEDASIAAhEBAxEB/8QAHwAAAQUBAQE BAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJ xFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZ naGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NX W19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8Q AtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOE l8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpO UlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn 6/9oADAMBAAIRAxEAPwD9DKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAq1odsl5rdnDIu6OWdEYZxkFgCKq1e8M /8jHp/wD18x/+hCrpq80n3Jn8LPqb/hmXwR/0BP8AycuP/i6+XPF1jFpfivU7aBNkFvdyxRrknaquQBk 89B3r7fr4l8e/8j1rX/X/AD/+jGrFv30vJ/oaL4X/AF3PYf2cvg14a8efD577VtN+13Qu5Ig/2iWP5QF IGFYDue1d7/wzL4I/6An/AJOXH/xdZP7If/JKJP8Ar/l/9BSof2oviZrfw6j0U6Ne/Yzdmbzf3Mcm/bs x99TjqenrWtVpNfL8jOmm195uf8My+CP+gJ/5OXH/AMXWZ4l/ZL8Kaxb4sUvNJmVWCtDM0qsx6FhJuJA PZSueefTxr/hprxv/ANBv/wAk7f8A+Ir2/wDZ/wDjdJ8WLC6gvoYYNTscM/lAiOVDwGAJOCDwRn0PfAX LcblY+d/ib8MtR+FviE2N8A8bgvb3CD5LhPUehHcdvcYJ0PgF4T0/xr8TbPT9Tt/tNnLHKzR72TJCEjl SD1HrXuf7VfhyLWfhPcXTKPO0uVJ42xk4LBGH0w2fwFeO/ss/8lm0/wD65Tf+i2pUXdtPpf8AIdVWSa8 vzPcP+GZfBH/QE/8AJy4/+Lo/4Zl8Ef8AQE/8nLj/AOLrp/HWpTaN4J1i8tn8u4tbKaaJ8A7WVCQcHg8 jvXzB/wANNeN/+g3/AOSdv/8AEUr62HbS57x/wzL4I/6An/k5cf8AxdI37M3ggKf+JJ2/5/Lj/wCLrwj /AIaa8b/9Bv8A8k7f/wCIoP7TPjcj/kN/+Sdv/wDEUSTaaQjhZlCTOB0DECm0rMXYk9ScmkoQ5NNtoKK KKYgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACr3hn/kY9P/AOvmP/0IVRq94Z/5GPT/APr5j/8AQhWlL416kVP hZ9xV8S+Pf+R61r/r/n/9GNX21XxL49/5HrWv+v8An/8ARjVzv416P9DZfC/l+p9Efsh/8kok/wCv+X/ 0FKyv2vPC2p+JYtA/s3Tr/UPJM/mfZrd5dmfLxnaDjOD+Vav7If8AySiT/r/l/wDQUr0PW/FOmeGhH/a Wo2Gn+dny/tNwkW/GM43EZxkfnW1ZXkvl+RlSdk/mfHq/CrxQzAf8I5rvPHNhKP8A2WvfP2aPgzqHw3t 72/1YLBe3yiJbdXD+UgJOWIyMk46E4HucDt/+Fp+GP+hj0H/wYRf/ABVY3ij9orwj4WRw2rRX0yoHWKy Hnl+cYDD5AfYsP5UlKw3G5Q/am16PR/hFdwsQJNRljt4x6/MHP6Ka8Z/ZZ/5LNp//AFym/wDRbVj/ABd +LV78WdfW5nT7PaWwKW1sG3CIHqSe7HAyfYelbH7LP/JZtP8A+uU3/otqKC95t9b/AJBVfupLy/M+nvE +jf8ACR+G9Q0/zPJ+3W0lv5m3ds3qVzjIzjPTNeK/8MS/9TN/5Tv/ALbXtXifWf8AhHPDeoah5fnfYba S48vdt37FLYzg4zjrivFf+G2v+pZ/8qP/ANqqNL+ZetvIP+GJf+pm/wDKd/8AbaxfiL+yr/wgPgy+1f8 At77X9iVW8r7F5e/LBfveYcdfStr/AIba/wCpZ/8AKj/9qrF+Iv7VX/CfeDL7SP7B+yfbVVfN+2+Zsww b7vljPT1ole2go2urnkNFFFUIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr2b9mD4Z+HPiFoupPq2ni8u7K4Ta xmkQBGXgYVgDyp614zXcfAT4qL8LfGPnXIdtNvlENyFGSgzkOB3288ehPerh2Jnfc9G/au+GllpXhKw1 DSNIsrNLWcrctaWyRfKwAUttA4yMc92968b+HGjS+IPH2j2kMbSPNdx5AGcKGBY/QAEn2FfZOl6tYeLN HW4tJ7a/sblSNyEOjjoQf5EH6GotF8HaR4bneXTtK02wlkXYz21skTMM5wSoGRUwvCV2OdpRsjRZgqkk gAck+lfD/AIqvV1PxRqVyhBS4upZFI7hnJ/rX0Z+0H8ebHwpod3o+m3EdzrF0jQyeW25bNTkMWI/j6gL 1HU9s/MlZLWVzR6RsfT37If8AySiT/r/l/wDQUrm/21/9V4c+tx/7SrpP2Q/+SUSf9f8AL/6Clc3+2v8 A6rw59bj/ANpVpX+KPy/Iih1+f6ngtFFFABXon7LP/JZtP/65Tf8Aotq87r0T9ln/AJLNp/8A1ym/9Ft WlPf5P8iKm3zX5n0h8Tf+Sb+IP+wdcf8Aotq+K6+8KKxtrc1vpY+D6K+8KKok+D6K2/iV/wAlE17/ALC E/wD6MasSpjK8UypKzaCiiiqJCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAt6Nr994dujPp97d2MzLsMlvM0TFc g4ypBxwOParmo/EHX9YspLa71zV7q3lGHimvJHR+c8gnB5rIooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//2Q==","userCommunityDisclos ures":[],"communityRegistrations":[],"communityActionResponses":[],"userCommunit ySubscriptions":[],"communitySubscriptions":[],"communityRoles":[],"vignetteLibr aries":[],"groups":[]}" What is the expected output? What do you see instead? The expected output is the Community Object converted from that JSON, the JSON is generated by Spring Web Services like this: HttpEntity<Community> entity = new HttpEntity<>(community); ResponseEntity<Community> response = restTemplate.postForEntity(getSyncServiceURL("url.sync.community.create"), entity, Community.class, userID); The problem seems to be with the brandingLogo property, which is a byte[] type. The output is: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 5178 at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:180) at com.google.gson.Gson.fromJson(Gson.java:755) at com.google.gson.Gson.fromJson(Gson.java:721) at com.google.gson.Gson.fromJson(Gson.java:670) at com.google.gson.Gson.fromJson(Gson.java:642) at com.alinean.network.remote.CommunityNetworkWebService.createCommunity(CommunityNetworkWebService.java:120) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288) at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1483) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1414) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1363) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1353) Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 5178 at com.google.gson.stream.JsonReader.expect(JsonReader.java:339) at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:306) at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:70) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176) at com.google.gson.Gson.fromJson(Gson.java:755) at com.google.gson.Gson.fromJson(Gson.java:721) at com.google.gson.Gson.fromJson(Gson.java:670) at com.google.gson.Gson.fromJson(Gson.java:642) at com.alinean.network.remote.CommunityNetworkWebService.createCommunity(CommunityNetworkWebService.java:120) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288) at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) What version of the product are you using? On what operating system? Gson 2.1 Operating System: OS X Processor:2.2 Ghz Intel Core i7 RAM: 8GB 1333 MHz DDR3 Please provide any additional information below. The issue only happens when an image is sent in a byte[]
Original issue reported on code.google.com by alevill...@gmail.com on 22 Jan 2013 at 12:03
alevill...@gmail.com
Please be more concise and direct in bug reports! I'm not sure what the bug is here.
Original comment by limpbizkit on 4 Feb 2013 at 4:07
limpbizkit
Original issue reported on code.google.com by
alevill...@gmail.com
on 22 Jan 2013 at 12:03