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

时间:2014-07-30 03:40:17

标签: java web-services wsdl ups

我不知道为什么在网上找到任何东西都很难让我知道我要问的问题,但我不能,所以这就是:

我已经阅读了有关Web服务的所有信息。我知道它们是什么以及它们的重点,但是我找不到任何超级有用的文档,说明它们是如何从基本开始使用的。

我的例子:我需要将UPS和FedEx包跟踪集成到我的软件中。只需一个简单的“输入跟踪号码:”,然后显示所有相关的跟踪信息。很简单。除了我发现唯一真正的方法是使用各自的Web服务。我完全没问题,除了我找不到任何关于如何开始使用这个“网络服务”的真实文档

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

有人可以给我,或者指点我这个关键部分的速成课程,我似乎无法在任何地方找到指导吗? (在处理Web服务时我是个菜鸟,所以请原谅我的无知)

1 个答案:

答案 0 :(得分:1)

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

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

使用这些类,构造请求并调用端点是微不足道的。

<强>更新

在WSDL中还有端点的描述:因此应该调用服务的实际http位置。这也是由wsimport解析的,除非你覆盖它,否则它将用于调用服务。

请注意,wsimport会在本地计算机上生成您应视为任何其他Java依赖项的类。这些类包含构造输入,执行请求和解析输出所需的所有逻辑。它应该几乎完全透明,它实际上是一个webservice调用而不是本地方法。