Java 关于理解和使用web服务的一些简单建议?

Java 关于理解和使用web服务的一些简单建议?,java,web-services,wsdl,ups,Java,Web Services,Wsdl,Ups,我不知道为什么很难在网上找到任何东西来引导我完成我将要问的问题,但我不能,所以这里是: 我已经阅读了有关web服务的所有内容。我知道它们是什么以及它们的意义,但是我找不到任何关于如何从一开始就使用它们的超级有用的文档 我的例子是:我需要将UPS和联邦快递包裹跟踪集成到我的软件中。只需一个简单的“输入跟踪编号:”,然后显示所有相关的跟踪信息。很简单。但我发现唯一真正的方法是使用他们各自的web服务。我完全同意,只是我找不到任何关于如何开始使用这个“web服务”的真正文档 从UPS开始,我下载了他们

我不知道为什么很难在网上找到任何东西来引导我完成我将要问的问题,但我不能,所以这里是:

我已经阅读了有关web服务的所有内容。我知道它们是什么以及它们的意义,但是我找不到任何关于如何从一开始就使用它们的超级有用的文档

我的例子是:我需要将UPS和联邦快递包裹跟踪集成到我的软件中。只需一个简单的“输入跟踪编号:”,然后显示所有相关的跟踪信息。很简单。但我发现唯一真正的方法是使用他们各自的web服务。我完全同意,只是我找不到任何关于如何开始使用这个“web服务”的真正文档

从UPS开始,我下载了他们的API/SDK。它由一些文档、一些代码示例、一个.wsdl模式和几个.xsd模式组成。我把它们识别为XML,可以看到它们试图描述的结构。但是,我不知道如何在Eclipse中使用这些来复制所示的代码示例。代码示例正在访问实际导入的API(com.ups.blah.blah.blah),然后使用TrackRequest之类的对象,但是没有关于“中间”部分的文档。。。换句话说,在给定这些wsdl和xsd文件的情况下,我如何达到这一点


有人能给我一个关于这个关键部分的速成班吗?我在任何地方都找不到指导?(在处理web服务时,我是一个noob,所以请原谅我的无知)

WSDL将描述给定端点上存在哪些服务。服务基本上是一个方法调用。服务的输入和输出由XSD文件(xml模式)描述,该文件允许对所述数据进行通用数据表示和验证

JDK附带了一个名为
wsimport
的工具,它将基于WSDL生成所有必要的类。我建议在运行时添加
-keep
作为一个选项,否则您将只拥有类的编译版本

使用这些类构造请求并调用端点是很简单的

更新

WSDL中还有端点的描述:即应该调用服务的实际http位置。wsimport也会解析它,除非您重写它,否则它将用于调用服务


请注意,
wsimport
在您的local机器上生成您应该视为任何其他java依赖项的类。这些类包含构造输入、执行请求和解析输出所需的所有逻辑。它实际上是一个Web服务调用,而不是本地方法,这对您来说应该是完全透明的。

根据您对API的描述,我猜API类将处理请求ups服务器数据的实际http请求。如果是这样的话,你所需要做的就是在一台连接到互联网的计算机上运行的应用程序中使用这些类,如示例所示;但是,这并没有真正告诉我如何使用这些类。他们的SDK不包括这些实际的类。它们只是具有上面提到的wsdl和xsd文件。这也是他们的web服务可以不受语言限制的原因,但我不知道如何从一开始访问这些类。因此,据我所知,当我创建自己的类来处理跟踪信息的检索时,我使用的API方法将以某种方式被引导到使用UPS服务器上的方法实现,例如。所以,当我部署我的UPS跟踪器时,我不需要在本地构建这些类?我如何指出我的java代码来使用这些服务?wsimport工具只是在本地构建类以便在实现时进行测试吗?我现在明白了。非常感谢。