我试图使用桌面应用程序中的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编组/解组。
再说一次,我无权访问您的源代码或教程(并且我现在没有时间查看它);但是,这些都是基于非常常见的命名约定的有根据的猜测。