试图掌握Web服务?

时间:2009-03-02 02:54:57

标签: service

我正在尝试处理Web服务,并想知道我是否从SO社区获得了一些帮助。特别是,我正在尝试处理WSDL,UDDI,SOAP和JAX-P,因为我最熟悉Java。


编辑:

请告诉我这些定义是对还是错:

  • WSDL:这是一个模式,用于描述可以向WS传递哪种XML文档。

  • UDDI:这对我来说是最让我困惑的,并没有真正的def。

  • SOAP:使用的基本协议。

  • JAX-p:用于解析XML文档。

4 个答案:

答案 0 :(得分:1)

作为SOAP路径的替代方案,您可能还需要考虑查找基于REST的(或RESTful)Web服务,特别是Java JAX-RS: The Java API for RESTful Web Services

答案 1 :(得分:1)

这是一个非常广泛的问题。在较高的层次上,SOAP指的是来回传递的消息的XML协议。 WSDL是另一种定义SOAP消息格式的XML协议(对于为您转换SOAP请求和响应的工具非常有用)。通常,SOAP服务端点还可以访问有关该服务的静态WSDL文档(例如,如果服务在http://myservice.com/services/MyService托管,则WSDL通常在大多数实现中从http://myservice.com/services/MyService?WSDL提供服务)。 UDDI是另一种XML协议,它描述了对注册表的查询,询问有关存储在那里的SOAP服务的信息。

首先学习SOAP和WSDL。 UDDI并不是那么广泛使用(尽管变得越来越慢)。 JAXR是围绕UDDI的Java API,这意味着您可能永远不需要自己编写原始UDDI查询。

JAXP只是一个Java XML解析器API。它可以用于很多事情,而不仅仅是SOAP和WSDL。 Apache Axis是一个很好的Java SOAP客户端工具,wsdl4j是一个很好的WSDL解析工具,虽然Axis也会通过解析WSDL来自动生成来自Java对象的SOAP请求和响应。最理想的情况是,您永远不需要自己解析WSDL文档,但在实践中,当工具不能完全按照您的需要进行操作时,您必须经常这样做。

答案 2 :(得分:0)

如果您需要实用的介绍,请执行Spring Web Services教程:http://static.springframework.org/spring-ws/sites/1.5/reference/html/tutorial.html

答案 3 :(得分:0)

Web服务消息是根据WSDL架构定义的。有些部分会定义消息的去向,有些部分会定义消息内容。

Good Thomas Erl introduction to whats in the WSDL

它们可以嵌入到SOAP消息中进行传输。

UDDI就像一个查找目录,用于查找您可能使用/使用的Web服务。如果您试图将两个特定系统绑定在一起而不是广播某些服务的提供,那么它可能与您无关。

在Java中,您可以使用Apache Axis等Web服务容器来构建Web服务。 JaxP可用于解析XML文档以进行传输等。

你应该从网上阅读一些概述,然后发布一些更具体的问题:-)也许如果你描述了你想要实现的目标,一些读者会有类似要求的经验。