我试图使用桌面应用程序中的Web服务,我在here中使用了Tutorials,并制作了此代码以连接到Web服务服务器项目

public static void main(String[] args) {

    float f1 = 60.5F;
    float c1 = 0;
    ConverterProxy s = new ConverterProxy();

    try {
        c1 = s.farenheitToCelsius(f1);
    } catch (RemoteException e) {
        e.printStackTrace();
    }

    System.out.println("Output: " + c1);

}


它确实起作用了,我需要一些可以解释其他客户端类做什么的地方

我需要知道什么课

Converter,ConverterProxy,ConverterService,ConverterServiceLocator,ConverterSoapBindingStub

以及我们需要它们做什么?

提前致谢

最佳答案

有点猜测,因为我没有使用您的教程,但是其中许多类遵循类似的模式。

Converter可能是一个接口,用于定义服务将提供的方法。

ConverterProxy可能是Converter接口的客户端暴露。它实际上并没有完成工作,而是采用Converter中的方法并将其打包以进行网络传输。

ConverterService可能是Converter接口的服务器端公开内容。它从ConverterProxy调用中获取网络程序包,将它们解包,执行转换,然后将答复发送回网络连接另一端的ConverterProxy。然后,ConverterProxy将解压缩网络消息,取出结果,然后将其作为答案返回。

ConverterServiceLocator可能是一个类,它与查找ConverterService所需的代码有关。有时为了保持一定程度的灵活性,在编译时未指定ConverterService的位置,并且ConverterServices会在启动时告知中央注册表(通常为UDDI)在哪里。然后,ConverterServiceLocator(当您尝试使用ConverterProxy绑定到ConverterService时)将查询中央注册表,并提供合适的ConverterService的位置或直接提供ConverterService(我不记得它是否为您)。

ConverterSoapBindingStub是一个类,该类提供将ConverterProxy请求转换为XML请求并将ConverterProxy答复转换为XML答复所必需的(否则隐藏的)Java到SOAP XML的Java编组/解组。

再说一次,我无权访问您的源代码或教程(并且我现在没有时间查看它);但是,这些都是基于非常常见的命名约定的有根据的猜测。

09-05 01:30