在java中公开用于文件上载的SOAP端点

在java中公开用于文件上载的SOAP端点,java,soap,file-upload,Java,Soap,File Upload,我不熟悉JavaSOAPWeb服务。我的问题是- 1) 如何使用SOAP公开和终结点,WSDL定义总是必需的吗?WSDL的内容是什么 2) 我的web服务如何知道它必须删除字节数组?在REST中,使用Multipart 3) 编写SOAP服务器的过程是什么,配置是什么?对于使用SPRING的REST,它在serverContext.xml中声明servletTransport bean,并在web.xml中给出“servlet映射” 4) 此外,我还需要知道不能使用REST web服务的场景 5

我不熟悉JavaSOAPWeb服务。我的问题是-

1) 如何使用SOAP公开和终结点,WSDL定义总是必需的吗?WSDL的内容是什么

2) 我的web服务如何知道它必须删除字节数组?在REST中,使用
Multipart

3) 编写SOAP服务器的过程是什么,配置是什么?对于使用SPRING的REST,它在
serverContext.xml
中声明
servletTransport bean
,并在
web.xml
中给出“servlet映射”

4) 此外,我还需要知道不能使用REST web服务的场景

5) 在
SO
中,我读到
REST和SOAP并不是相互排斥的。RESTful体系结构可以使用HTTP或SOAP作为底层通信协议
。怎么做

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

2) 在SOAP中,您也可以使用Multipart(google代表XOP+MTOM),但除非您谈论的是真正的大文件,否则您可能会对字节[]使用base64编码字符串。根据框架的不同,这并不是您真正关心的问题,因为框架将看到您正在尝试获取字节[],并将自动生成base64字符串

3) 不知道spring,但对于JavaEE,规范是JAX-WS。这几乎和JAX-RS(rest)服务一样简单,但还需要记住一些额外的事情

4) REST比SOAP容易,但SOAP有一个巨大的优势,即有一个WSDL。这允许生成客户端,从而缩短开发时间。其余的有WADL,但还没有。因此,SOAP实际上几乎是业务级Web服务的事实标准


5) REST始终是HTTP,因为它基本上重用了整个HTTP“堆栈”(例如HTTP身份验证等)。然而,SOAP可以在任何东西上运行(例如JMS、HTTP等等),尽管实际上人们几乎只在HTTP上使用它。然而,由于它不能依赖于一个固定的协议,它重新发明了每一个轮子。REST重用HTTP身份验证,而SOAP遵循规范(WS-Security)。有很多WS-*标准。

如果你没有得到你想要的结果,建议你去谷歌搜索结果expecting@spiderman我期待着这个答复。出于恐慌,我发布了这个问题。我只有一天时间做我的工作,所以我很恐慌。这需要时间和理解我自己。但是,如果你能告诉我第二点,那将非常有帮助。如何使用文件?