簡體   English   中英

在Jersey產生異常的情況下在Java REST Services中生成和使用JSON

[英]While producing and consuming JSON in Java REST Services with Jersey getting exception

  public class Message {
            private long id;
            private String message;
            private Date created;
            private String author;

            public Message(long id, String message, String author) {    
                this.id = id;
                this.message = message;
                this.author = author;
                this.created = new Date();
            }
            public long getId(

) {

消息是模型類.....這是后方法:-

@POST
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)       
    public Message addMessage(Message msg){
        return mssageService.addMessage(msg);
    }

上述方法用於產生和使用JSON

這是輸出:-

<h1>HTTP Status 500 - Internal Server Error</h1>
        <hr/>
        <p>
            <b>type</b> Exception report
        </p>
        <p>
            <b>message</b>Internal Server Error
        </p>
        <p>
            <b>description</b>The server encountered an internal error that prevented it from fulfilling this request.
        </p>
        <p>
            <b>exception</b>
            <pre>javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: org.eclipse.persistence.oxm.XMLUnmarshaller.setNamespaceResolver&#40;Lorg/eclipse/persistence/oxm/NamespaceResolver&#59;&#41;V</pre>
        </p>
        <p>
            <b>root cause</b>
            <pre>org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: org.eclipse.persistence.oxm.XMLUnmarshaller.setNamespaceResolver&#40;Lorg/eclipse/persistence/oxm/NamespaceResolver&#59;&#41;V</pre>
        </p>
        <p>
            <b>root cause</b>
            <pre>java.lang.NoSuchMethodError: org.eclipse.persistence.oxm.XMLUnmarshaller.setNamespaceResolver&#40;Lorg/eclipse/persistence/oxm/NamespaceResolver&#59;&#41;V</pre>
        </p>
        <p>
            <b>note</b>
            <u>The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition  4.1.1  logs.</u>
        </p>
        <hr/>
        <h3>GlassFish Server Open Source Edition  4.1.1 </h3>
    </body>

這是帶有java.lang.NoSuchMethodError的異常代碼:org.eclipse.persistence.oxm.XMLUnmarshaller.setNamespaceResolver異常

可能是您使用了舊版本的eclipselink。

我從該站點看到的內容: http : //grepcode.com/project/repo1.maven.org/maven2/org.eclipse.persistence/eclipselink/

所以我的結論是降級您的eclipselink lib版本。

setNamespaceResolver僅在eclipse link v 2.4之后存在,因此請將其升級到v2.4或更高版本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM