首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >发送请求前的GWT RPC客户端序列

发送请求前的GWT RPC客户端序列
EN

Stack Overflow用户
提问于 2010-11-04 21:21:15
回答 2查看 677关注 0票数 1

我之前提出了一个问题,寻找在RPC调用(here)上构建内容的类。

现在,我找不到在ClientSerializationStreamWriter(here):类中调用以下方法的方法调用序列

代码语言:javascript
复制
@Override
public String toString() {
    StringBuffer buffer = new StringBuffer();
    writeHeader(buffer);
    writeStringTable(buffer);
    writePayload(buffer);
    return buffer.toString();
}

我注意到RemoteServiceProxy中使用了ClientSerializationStreamWriter,而且这个类是在RpcServiceProxy上扩展的。我试图找到的是在发送之前构建请求的确切位置。来自RemoteServiceProxy的方法doInvoke似乎负责分派请求本身,但是字符串requestData是如何构建的呢?

代码语言:javascript
复制
com.google.gwt.user.client.rpc.impl.RemoteServiceProxy.doInvoke

我想要了解RPC请求在离开客户端web浏览器之前所做的常规路径。到目前为止,我不确定是否每个RPC都使用RpcServiceProxy。

我有很多假设,没有断言。

谢谢。

JuDaC

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-04 21:48:01

了解有关调用堆栈的更多信息的最好方法可能是使用Java调试器(这在开发模式下是可能的-即使对于客户端代码也是如此!)

关于你的另一个问题:

到目前为止,我不确定是否每个

都使用RpcServiceProxy。

/com/google/gwt/rpc/RPC.gwt.xml (gwt-user.jar)为您的RemoteService指定延迟绑定:

代码语言:javascript
复制
<generate-with class="com.google.gwt.rpc.rebind.RpcServiceGenerator">
  ...
  <when-type-assignable class="com.google.gwt.user.client.rpc.RemoteService" />
  ...
</generate-with>

RpcServiceGenerator:

代码语言:javascript
复制
protected ProxyCreator createProxyCreator(JClassType remoteService) {
  return new RpcProxyCreator(remoteService);
}

RpcProxyCreator:

代码语言:javascript
复制
protected Class<? extends RemoteServiceProxy> getProxySupertype() {
  return RpcServiceProxy.class;
}
票数 1
EN

Stack Overflow用户

发布于 2010-11-04 22:00:40

我找到了我问题的大概答案。在类ProxyCreator行中: 479。

代码语言:javascript
复制
String payloadName = nameFactory.createName("payload");
w.println("String " + payloadName + " = " + streamWriterName
    + ".toString();");

在我的服务创建过程中

代码语言:javascript
复制
private final GreetingServiceAsync greetingService = GWT.create(GreetingService.class);

GWT编译器动态生成RPC代理,此时GWT编译器注入代理方法(ProxyCreator.generateProxyMethod)。

代码语言:javascript
复制
com.google.gwt.user.rebind.rpc.ProxyCreator.generateProxyMethod

HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4097065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档