0

JSON用のJAX-WSRIを使用して、jQueryを利用してJSONJAX-WSWebサービスを利用しようとしました

彼らの指示に従おうとしましたが、JavaScriptクライアントからJAX-WS Webサービスを呼び出すことができませんが、Webサービスは正常に構築されました。

これが私のコードです:

サーバ側:

@BindingType(JSONBindingID.JSON_BINDING)    
@WebService 
public class Greeting
{       
    public Book get(@WebParam(name="id") int id) {
        Book b = new Book();
        b.id = id;
        return b;
    }

    public static final class Book {
        public int id = 1;
        public String title = "Java";
    }

}

クライアント側:

<header>
<script src="http://localhost:8080/webservice/soap/greeting?js"> </script>
    $(document).ready(function()  {
        $("#btnJson1").click(function() {
             document.getElementById("jsonprompt").innerHTML="Start JSON --- ";
             GreetingService.get(
              {id:5},
              function(r) {
                  document.getElementById("jsonprompt").innerHTML="Book Title: " + r.title;
                  }
            );
    } );
</header>

コメントや提案は大歓迎です。

JSONを介してjQueryを使用してJAX-WSサービスを利用するソリューションがあれば、それも高く評価されます。

少し早いですがお礼を。

4

1 に答える 1

0

私は自分の問題の2つの解決策を見つけました。

1つ目は、クライアント側でjavascriptのXMLHttpRequestを使用し(これは実際にはjQueryとは関係ありません)、質問で述べたようにJSONサーバーに「POST」呼び出しを行います。

2つ目は以下の通りです。

サーバー側では、ライブラリJAX-WSJSONWebサービスを使用してJSONJAX-WSWebサービスを作成します

@SOAPBinding(style = SOAPBinding.Style.RPC)
@WebService (name="SchedulerService", targetNamespace="http://my.target.namespace.vn/json/")
public class Scheduler
{
    @WebMethod
    public Book get(@WebParam(name="id") int id) {
        Book b = new Book();
        b.id = id;
        return b;
    }
    public static final class Book {
        public int id = 1;
        public String title = "Java";
    }

}

クライアント側では、jQueryライブラリを使用してこのようなjson呼び出しを行うだけです。

$(document).ready(function()  { 
    $("#btnJson").click(function() {
    alert("Start JSON --- ");
    $.post( "http://localhost:8080/webservice/json/scheduler",
            '{"get":{"id":5}}', 
              function(r) {
            alert("Book Title: " + r['return'].title);
            }, 
            "json" ) ; 
       }
    })
}
于 2012-05-07T01:44:16.987 に答える