Axis2 Web 服务中客户端和服务器如何连接?

How does client and server connect in Axis2 Web service?

我是 Axis2 Web 服务的新手,我尝试通过一些简单的教程来实现 Axis2。我的代码 运行 在带有 Tomcat 服务器 7.0+ 的 JavaEE 中运行良好,但是我仍然没有完全理解客户端和服务器如何连接在一起。出于这个原因,我有几个关于 Axis2 的一般性问题:

  1. 客户端自动生成的Stub.java文件有什么作用?我不知道它是如何工作的,但它似乎可以处理客户端的请求。这是我需要从客户端实现到 运行 的代码:

    public static String getData(int code) throws RemoteException, MylittleShopParserConfigurationExceptionException, MylittleShopIOExceptionException, MylittleShopSAXExceptionException  {
    //When creating client web service, importing http://localhost:8080/Server/services/MylittleShop?wsdl (this is the xml file for
    //describing server-web service, it will tell the client how to compose a web service request and the interface that is
    // provided by the server ,all of thing contained in MylittleShopStub class.
    MylittleShopStub ser = new MylittleShopStub();
    GetData setCode =  new GetData();
    setCode.setCode(code);
    GetData1Response getCode = null;
    getCode = ser.getData1(setCode);
    return getCode.get_return();
    

    }

我的服务只是向服务器发送一个代码 (id) 以从数据库中检索数据集。

  1. 我需要在客户端写的是根据我在服务器端的功能自动生成的功能。但是,我只需要传递必要的参数,然后发回服务器以获得响应。那么在向服务端发送请求时,客户端的参数是如何处理的呢?
  2. 客户端和服务器是否通过 HTTP 通信?

提前致谢!

  1. MylittleShopStub.java 是服务的 java 客户端模型。 实际上,它所做的就是第 2 点中提到的内容。它将对客户端请求建模的 Java 对象转换为适当的 XML,并将它们发送到定义的服务器端点。然后以 XML 格式接收服务器响应,创建服务器响应 java 对象并将其 return 发送给调用者。 以下引述也可能有所帮助。

Using the service is simply a matter of creating and populating the appropriate type of request using the names defined in the WSDL file, and then using the stub to actually send the request to the appropriate method.

Axis 2 Creating Clients

  1. WSDL 服务理解并响应提交给服务器的 XML 文档。这些 XML 应该遵循特定的 XSD。客户端首先将XML中的所有参数进行编码,然后发送给服务器。然后服务器解析 XML,它执行定义的操作并且 returns 一个 XML 到客户端。 java 客户端将 XML 和 return 的结果解析为 java 对象。

  2. 客户端和服务器可以通过 HTTP 和 HTTPS 进行通信。通常,因为您遵循简单的教程,所以您使用 HTTP。

关于 WSDL 服务 WSDL (Web Services Description Language) 是一种用于描述 Web 服务的 XML 语言。因此,根据定义,WSDL Web 服务是描述并符合 WSDL 标准的 Web 服务。 Web 服务在某种意义上是远程过程调用。客户端程序要求服务器程序执行 "something" 和(在大多数情况下)return 结果。 WSDL 定义了一种 XML 格式,客户端和服务器使用该格式以中立的、独立于编程语言的格式进行通信。所以基本上客户端和服务器程序来回发送 XML 描述客户请求和服务器响应的文档。