问题标签 [spring-ws]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4229 浏览

java - SOAP 和 Spring

我刚刚在 Manning Publications Co 的 Craig Walls 的“Spring in Action”第 2 版中通过 Spring-WS 阅读了有关 SOAP 的内容。他们首先写的是 Contract First,就像 Spring 文档一样,通过制作消息和方法 XML 和然后将其转换为 XSD,然后再转换为 WSDL,同时在 Spring 中连接编组和服务路径。

我必须承认,我不相信。为什么这比创建一个服务接口并基于该接口生成我的服务更好?这非常接近于在 Spring3 中定义我的 REST @Controllers。我是否可以选择使用 Spring 制作 SOAP Web 服务来选择这样的路径?

另外:我想复制一个已经存在的网络服务。我有它的 WSDL,我可以放置我的服务来代替它。这是推荐的吗?如果是这样,推荐的方法是什么?

干杯

0 投票
2 回答
4619 浏览

spring - Spring WS 和 PayloadRootAnnotationMethodEndpointMapping

我有两个使用注释的端点。我想对它们中的每一个应用不同的拦截器。(一个是安全拦截器,另一个不安全)有没有办法使用PayloadRootAnnotationMethodEndpointMapping?有人有想法吗?

根据Spring自带的airline example的applicationContext-ws.xml:

端点映射从请求映射到端点。因为我们只希望发生安全拦截,所以 GetFrequentFlyerMileageEndpoint我们定义了两个映射:一个带有 securityInterceptor,一个没有它的通用映射。

那么做到这一点的唯一方法是有两个不同的映射:对于安全的org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping映射?org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping

0 投票
1 回答
878 浏览

java - 如何为 spring-ws 合约定义 XSD 以返回序列化图像?

我正在尝试使用 Spring-WS 组合一个合同优先的 Web 应用程序。我想定义一个客户端可以通过不提供参数来调用的操作,并且只需从服务器返回一个它可以在屏幕上绘制的图像。

我对如何做到这一点的猜测是定义一个 ImageRequest XML 片段,例如:

和 ImageResponse 片段类似于以下内容:

然后为这两个操作创建一个 XSD 并将它们包含在 Spring 示例中。我该怎么做以上?一旦我得到上面定义的 XML 片段,我就计划使用 Trang 来生成 XSD。

非常感谢您的帮助。

0 投票
5 回答
16839 浏览

java - 带有 Apache CXF 和自定义标头的 WebService

我使用Apache cfx和 spring创建了一个 Web 服务,它可以工作,但我需要响应包含此标头

现在的反应是这样的。

但是应该是这样的

这是暴露服务的spring的bean的配置。

这是界面

有任何想法吗 ?

0 投票
3 回答
14800 浏览

spring - Spring + SOAPExceptionImpl:保存多部分消息时出错

我有一个带有jsp页面的spring web应用程序,它调用不同的web服务并在jsp页面中显示结果。spring web 应用程序附加了用户名/登录 spring 安全性。

我正在添加对处理安全性的 Web 服务的调用。对于 WebServiceGateway,我添加了一个安全拦截器。(见下文)

当我将 wss4j 添加到我的 pom 文件中时,我现在在 Web 服务端收到以下错误:

0 投票
4 回答
7338 浏览

web-services - Howto:配置 Spring-WS 以使用“?WSDL”样式 URL 发布 WSDL 文件?

我正在尝试使用 Mule ESB 配置 Web 服务代理。

我正在尝试使用 Mule 的 WSProxyService 来执行此操作,但是在单步执行相应的代码(使用调试器)之后,很明显这个类替换了端点地址。

问题是 Spring-WS WSDL 地址的样式为http://xxxx/xxxx.wsdl,但 WSProxyService 需要http://xxxx/xxxx?wsdlhttp://xxxx/xxxx&wsdl。它将远程端点地址替换为本地 WSDL 地址;它在问号处切断远程 WSDL 地址,即“?WSDL”旨在被切断,以便创建搜索词。但是由于 Spring-WS,这不起作用。

分解它:

WSProxyService 最终尝试使用

取代

失败了...导致实际的 Web 服务调用直接而不是通过代理。

有没有人注意到/解决了这个问题?

干杯,达伦

0 投票
3 回答
6362 浏览

java - JDK1.5 的 JAXWS 代码生成和实现

我们正在尝试从一系列 WSDL(每个都有自己的 XSD)生成源代码存根。我们可以很好地做到这一点,并且在 JDK1.6 下完美运行,但是我们需要它在 JDK1.5 下运行。

我们使用 jaxws-maven-plugin 来生成源代码,但是它取决于可用的 wsimport 二进制文件(这在 JDK1.5 中不可用)。我们找到了解决方法,我们现在可以生成源代码。

最后一个问题是当我们尝试将编译后的存根代码与 Spring (2.5.6) 一起使用时,我们正在使用 JaxWsPortProxyFactoryBean 与生成的客户端代码进行交互。我们得到一个 java.lang.NoClassDefFoundError: javax/xml/ws/soap/Addressing。我调查了为什么会这样,发现 javax.xml.ws/javax-api/2.1 依赖项不包含此类。我将版本号升级到 2.1-1,现在当我们构建项目(生成源代码)时,我们收到以下错误:

谁能为此提供解决方案,以便我们可以生成我们的 JAXWS 客户端存根代码并使其与 JaxWsPortProxyFactoryBean 一起工作?

提前致谢

乔纳森

0 投票
3 回答
4513 浏览

java - 通过 Java 中的 Web 服务下载大文件

我有一个 Web 应用程序,它是文件的存储库。此 Web 应用程序提供 Web 服务,允许客户端搜索存储库并通过 SOAP 下载任何附件。

目前我已经尝试使用带有 MTOM 的 Spring-WS 1.5.8 将附件发送到客户端,但我不断出现内存不足的错误。我不相信这些错误与我的 Tomcat 6 实例有关,因为我的服务器有 8GB 内存,而我将 Tomcat 配置为使用其中的 4GB。我在小至 200MB 的文件上遇到这些错误。

我需要使用 SOAP,即使它可能根本不是最好的方法。我更喜欢 Spring 中的解决方案,但如果那不可能,那么我对其他想法持开放态度。我读到可以使用 AxiomSoapMessageFactory 将文件流式传输到服务器以进行上传,但不能反过来。这是真的?我正在使用 Java 6。

这是我在 Spring WS Framework 中不断遇到的错误:

0 投票
2 回答
6914 浏览

java - Jaxb2Marshaller 和原始类型

在 spring-ws 中使用 Jaxb2Marshaller 时,是否可以使用原始或基本 Java 类型创建 Web 服务操作?例如一个看起来像这样的方法:

我正在使用 maven jaxws 插件从我的 WSDL 生成接口和模型类。当我尝试调用网络服务时,出现以下错误:

java.lang.IllegalStateException:端点没有适配器 [...]:您的端点是否实现了受支持的接口,例如 MessageHandler 或 PayloadEndpoint

我发现如果我将方法更改为:

我可以调用它——但是这个签名与 maven jaxws 插件生成的接口不兼容。

我可以做些什么来配置 spring-ws 以使用第一种实现或告诉 maven jaxws 插件生成接口的第二种变体?

更新:我的相关 spring-ws 配置条目如下所示:

0 投票
1 回答
2509 浏览

web-services - 使用 spring-ws 列出 tomcat 上可用的 Web 服务

是否可以在 tomcat 服务器上获取所有可用 Web 服务的列表?