我正在尝试使用桌面应用程序中的Web服务,我使用here中的教程并使此代码连接到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);
}
它做了工作,我需要一些解释其他客户端类所做的事情
我需要知道什么是类
转换器,ConverterProxy,ConverterService,ConverterServiceLocator,ConverterSoapBindingStub
我们需要它们吗?
提前致谢
答案 0 :(得分:1)
这是一个猜测,因为我没有使用你的教程,但很多这些类都遵循类似的模式。
Converter很可能是一个接口,它定义了服务将提供的方法。
ConverterProxy很可能是Converter接口的客户端暴露。它实际上并没有完成工作,而是采用Converter中的方法并将它们打包以进行网络传输。
ConverterService可能是Converter接口的服务器端暴露。它从ConverterProxy调用中获取网络包,解压缩它们,执行转换,并将回复发送回网络连接另一端的ConverterProxy。然后,ConverterProxy将解压缩网络消息,取出结果,并将其作为答案返回。
ConverterServiceLocator可能是一个关注查找ConverterService所需代码的类。有时为了保持一定程度的灵活性,ConverterService的位置在编译时没有指定,并且ConverterServices告诉中央注册表(通常是UDDI)它们启动时的位置。然后ConverterServiceLocator(当您尝试使用ConverterProxy绑定到ConverterService时)查询中央注册表,并提供合适的ConverterService的位置或直接提供ConverterService(我不记得它是否提取服务的你)。
ConverterSoapBindingStub是一个类,它提供(以其他方式隐藏的)Java到SOAP XML编组/解组,用于转换ConverterProxy请求以转换为XML请求,并且ConverterProxy回复转换为XML回复。
同样,我无法访问您的源代码或您的教程(我现在没有时间查看它);但是,这些都是基于非常常见的命名惯例的有根据的猜测。
答案 1 :(得分:0)