2014-11-17 30 views
0

我是Java SOAP Web服务的新手。我的问题是 -在java中暴露SOAP端点文件上传

1)我如何公开和端点与SOAP,WSDL定义总是需要? WSDL的内容是什么?

2)我的web服务如何知道它必须除了字节数组?在REST中,很容易获得使用Multipart

提交的文件3)编写SOAP服务器的过程是什么,configurations?对于使用SPRING REST,它被声明servletTransport BeansserverContext.xmlweb.xml得到“servlet映射”

4)另外,我需要知道一个不能使用REST web service

5)在SO的情况下,我阅读REST and SOAP are not mutually exclusive. A RESTful architecture may use HTTP or SOAP as the underlying communication protocol。怎么样?

+0

推荐你去谷歌搜索结果,如果你没有得到你所期望的结果 – spiderman

+0

@spiderman我期待着这个答复。我从恐慌中发布了这个问题。我只有一天的时间做我的工作,所以我惊慌失措。需要时间和理解我自己。但是,如果你告诉我第二点,这将会非常有帮助。如何使用文件? –

回答

1

1)使用SOAP的端点不需要需要 WSDL来操作,但它几乎总是存在,因为它与web服务紧密耦合。 WSDL包含了服务的外观描述,基本上包括哪些输入和输出参数,它们的类型等。实际上暴露端点通常是服务器的任务,因此它将取决于您正在运行的软件。

2)在SOAP,您可以使用多部分以及(谷歌的XOP + MTOM),但除非你是在说真的文件,你可能会使用的字节[] base64编码字符串。根据框架,这并不是你关心的问题,因为框架会看到你正在尝试获取一个byte [],并且会自动生成base64字符串。 3)不知道春天,但对于Java EE,规范是JAX-WS。它几乎与JAX-RS(其他)服务一样容易,但还有一些额外的事项需要记住。

4)REST比SOAP更容易,但SOAP具有WSDL的巨大优势。这允许客户端生成,从而缩短开发时间。 REST有WADL,但它还没有。出于这个原因,SOAP实际上几乎是业务级Web服务的事实标准。 5)REST始终是HTTP,因为它基本上重用了整个HTTP“堆栈”(例如http认证等)。然而,SOAP可以运行在任何东西上(例如JMS,HTTP,...),但实际上人们几乎只在HTTP上使用它。然而,因为它不能依赖于固定的协议,它已经彻底改变了每一个轮子。尽管REST重用了HTTP认证,但SOAP还有一个规范要遵循(WS-Security)。有许多WS- *标准。