
客户端调用桩上的一个方法,而桩实现对该方法使用参数,把Java方法调用变为将基于HTTP发送给服务器的Web service请求。
客户端调用桩,而桩把调用转换为SOAP消息,然后桩使用RPC发送该消息。监听服务器接收该SOAP消息,然后(十有八九)将其转换为服务器处的一次方法调用。如果服务器是用Java编写的,上述SOAP消息就会被转换为Java调用。如果服务器是.Net服务器,调用将很可能是C# 或VB.Net对象。服务器的返回值被转换回为SOAP消息,然后返回给桩,而桩会把返回的SOAP消息转换为Java响应。
wscompile工具生成了桩,而且它具有选项加载。对于此种讨论,我们只需要关心运行wscompile生成客户端代码的过程。对于wscompile来说,首要的输入是配置文件(通常叫做config.xml)。wscompile读取这个文件,用于指定一些信息,比如用于生成客户端的WSDL文档的位置。或者,如果我们准备生成服务器,您也可以指定要用于服务器端生成的Java类名。在这种情况下,我们会生成客户端代码,所以配置文件应该包含WSLD位置。
如果您计划遵循这里开发出来的代码,您应该创建一个目录来包含要用到的所有部分,然后在该目录中创建一个src、一个classes和一个etc目录。src目录将包含我们编写的源代码,classes目录将包含编译以后的代码,而etc目录将保存配置信息。我们将在etc目录中创建config.xml文件。
<?xml version="1.0" encoding="UTF-8"?> <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <wsdl location="http://soap.amazon.com/schemas3/AmazonWebServices.wsdl" packageName="javapro.amazon" /> </configuration>