gpt4 book ai didi

java - 在 java 中公开 SOAP 端点以进行文件上传

转载 作者:行者123 更新时间:2023-12-01 12:16:24 24 4
gpt4 key购买 nike

我是 Java SOAP Web 服务的新手。我的问题是-

1) 我如何使用 SOAP 公开和终结点,是否始终需要 WSDL 定义?该 WSDL 的内容是什么?

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

可以轻松获取提交的文件

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

4) 另外,我需要知道无法使用 REST Web 服务

的场景

5) 在 SO 中,我读到 REST 和 SOAP 并不相互排斥。 RESTful 架构可以使用 HTTP 或 SOAP 作为底层通信协议(protocol)。如何?

最佳答案

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

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

3) 不了解 spring,但对于 Java EE,规范是 JAX-WS。它几乎与 JAX-RS(休息)服务一样简单,但还有一些额外的事情需要记住。

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

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

关于java - 在 java 中公开 SOAP 端点以进行文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26974981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com