java - 在 Spring MVC 中以 XML 形式获取 SOAP 请求

标签 java spring spring-mvc soap

我需要将 XML Soap 请求发送到我服务器上的一个 URL。我写了类似的东西

@RequestMapping("/SomeService")
@ResponseBody
public String index(@RequestBody String request) {
    mailService.sendMail("someone@gmail.com", "Subject", request);
    return "";
}

但是请求正文是空白的。我正在使用 Spring 3.2。我只需要 XML SOAP 内容。在这种情况下我该如何进行。提前致谢。

最佳答案

让我建议一些方法@Akhil:

  1. 如果您想公开一个健壮的基于 SOAP 的端点,那么最好的方法是使用一种成熟的 JAX-WS 实现(比如 Apache CXF 或 Axis2)。

  2. 如果您想变得更轻量一点,并希望完全在项目的 Spring 保护伞下,我强烈建议您使用 Spring-WS 作为端点来使用 SOAP 请求并提供响应 - Spring WS 是 here : http://static.springsource.org/spring-ws/sites/2.0/reference/html/index.html

  3. 如果这是一个临时端点,您不是出于真正的业务原因而使用它,而是说只是为了捕获信息,而不真正关心 SOAP 带来的其他功能 - 例如安全性、验证等、编码、解码支持等,那么一个选项是使用 Spring 的 HttpRequestHandlingServlet ,这样您就可以实现一个将 HttpServletRequest 作为参数的 HttpRequestHandler,并从中获取 POSTed 内容。

你可能已经注意到,这些都在 Spring MVC 之外,原因是框架倾向于使用原始 http 请求并在预处理后提供参数,所以即使你编写一个 @RequestMapped 方法期待一个原始字符串,你不会干净地得到它。

关于java - 在 Spring MVC 中以 XML 形式获取 SOAP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17719717/

相关文章:

java - 我可以在 Spring 中为 @Component 类创建构造函数吗

java - 如何在 POST 方法的 spring-boot 测试中使用 .getPrincipal()?

java - 嵌套异常是 java.sql.SQLTransactionRollbackException : At least one parameter to the current statement is uninitialized

java - 为什么hibernate要自己执行更新?

java - 如何使用 Spring Data Cassandra 仅查询 1 个字段?

spring - 仅在 IE8 中怎么可能出现 404 响应?

java - 在 Spring MVC 应用程序中运行 Tomcat 服务器时上下文初始化失败

Java程序不显示输出

java - 使用eclipse在tomcat上部署后找不到页面

java - 如何在 Minecraft 1.11 forge 上注册区 block