服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java技术与xml常见问题之jax-rpc


  问题. 什么是 java api for xml-based rpc(jax-rpc)?
  答. java api for xml-based rpc(jax-rpc)使得 java 技术开发人员使用基于 xml 的 rpc 功能构建 web 应用程序和 web 服务,此功能遵循 soap(简单对象访问协议,simple object access protocol)1.1 规范。
  问题. jax-rpc 如何使用 soap ?
  答. 请参考 jsr-101 。
  问题. 什么是 rpc?
  答. rpc 代表远程过程调用(remote procedure call),它是能使客户端执行其他系统中程序的一种机制。rpc 机制常用于分布式客户端/服务器模型。服务器将服务定义为一系列过程,可供远程客户端调用。
  问题. xml 如何与 rpc 相关联?
  答. 远程过程调用是由基于 xml 的协议来表示的,比如 soap 。除了定义信封结构和编码规则之外,soap 规范还定义了远程过程调用和响应的表示惯例。
  问题. 对于 web 服务,jax-rpc 必须做哪些工作?
  答. 一个基于 xml 的 rpc 服务器应用程序可以定义、描述和导出一个的 web 服务,如同基于 rpc 的服务一样。wsdl(web 服务描述语言,web service description language)定义了一种 xml 格式,将服务描述为一组消息操作的端点集合。通过使用 jax-rpc api ,开发人员可以用 wsdl 描述来实现客户端和服务。
  问题. 客户端与 jax-rpc 服务之间采用什么交互模式?
  答. 有以下三种不同的模式:
  1. 同步请求-响应(synchronous request-response):客户端调用远程程序并阻塞,直到它收到一个返回值或异常。
  2. 单向 rpc(one-way rpc):客户端调用远程过程,但自身不阻塞或等待直到收到一个返回值。jax-rpc 客户端的运行时系统可能会抛出异常。
  3. 非阻塞 rpc 调用(non-blocking rpc invocation):客户端调用远程过程,并继续处理同一个线程的内容而不等待返回值。此后,客户端通过阻塞来接受返回值或轮询返回值,以此来处理远程方法的返回。
  问题. 远程方法调用或响应能否传送服务内容信息?
  答. 是的。例如它可能会传送唯一的事务标识符或数字签名。
  问题. 为什么 xrpcc 没有生成 wsdl 文件?
  答. xrpcc 工具实际上可以生成 wsdl 文件,但由于设计失误,如果不指定 ?ckeep 选项,该文件会同源文件一起被删除。您可以使用 ?ckeep 选项让 xrpcc 不删除 wsdl 或 .java 源文件。如果您使用 ?cs sourcepath 选项,所有源文件将被放置在 sourcepath 目录中,然后您可以很容易地删除它们。 wsdl 文件将被放置在当前目录或由 ?cd 选项指定的目录中。

扫描关注微信公众号