私は GWT (Google Web Toolkit) でプロジェクトを開発しており、Web サービス (JAX-WS) を呼び出す必要があります。しかし問題は、GWT から Web サービスを呼び出す方法がわからないため、GWT クライアント側でその JAX-WS にアクセスする方法を知る必要があることです。私はEclipseでプロジェクトを開発しており、私のサービスはglassfishサーバーで実行されています。
この問題を解決するための基本的な手順を教えてください。
外部の非 gwt ws を呼び出す通常の方法は、RequestBuilder クラスを使用することですが、これは難しくありませんが、アプリケーションで複数の呼び出しを準備する必要がある場合は面倒になる可能性があります。
非常に簡単な方法で ws を呼び出すことができる Ajax クラスを持つ gwtquery 別名 gquery を参照することをお勧めします。ドキュメントを見てみましょう
これは、json 応答を提供する jax-ws の例です。
@BindingType(JSONBindingID.JSON_BINDING)
public class MyService {
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";
}
}
そして、これはクライアント側でのクライアント呼び出しである可能性があります
import static com.google.gwt.query.client.GQuery.*;
[...]
post( //GQuery post static method (you have get, ajax, getJSONP, etc)
"http://url_to_the_jax-ws.server/MyService",
$$("{get:{id:5}}"), // GQuery json parses the parameters
new Function(){ // Callback
public void f() {
Properties p = getDataProperties(); // JSON response
alert("success " + p.get("title"));
}
}
);