我正在 GWT(Google Web Toolkit)上开发项目,我需要调用 Web 服务(JAX-WS)。但问题是我不知道如何从 GWT 调用 Web 服务,所以我需要知道如何在 GWT 客户端访问该 JAX-WS?我正在 eclips 上开发我的项目,我的服务在 glassfish 服务器上运行。
请提供一些基本说明来解决这个问题。
调用外部非 gwt ws 的常规方法是通过 RequestBuilder 类,虽然这并不困难,但当您需要在应用程序中准备多个调用时可能会很乏味。
我建议您看一下 gwtquery aka gquery,它有一个 Ajax 类,允许以非常简单的方式调用 ws。看看文档
这可能是 jax-ws 服务 json 响应的示例
@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"));
}
}
);