问题标签 [webservicetemplate]

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 投票
0 回答
1911 浏览

java - 除了 WebServiceGatewaySupport#getWebServiceTemplate() 之外,还有其他方法可以在 Spring Boot 中获取 WebServiceTemplate 吗?

Spring 提供的org.springframework.ws.client.core.support.WebServiceGatewaySupport类,根据Spring 文档中的一个

需要 Web 服务访问的应用程序类的方便超类。

该类显然是为扩展而设计的。所以它abstract不能被实例化为一个 bean,所以我不能使用组合而不是继承

但是,当我继承该类时,Spring 开始抱怨:

[WARN] org.springframework.framework.CglibAopProxy -无法代理接口实现方法[public final void org.springframework.ws.client.core.support.WebServiceGatewaySupport.afterPropertiesSet() throws java.lang.Exception]因为它被标记as final考虑改用基于接口的 JDK 代理!

各种资源(例如https://github.com/spring-projects/spring-boot/issues/8974)说类似

如果您实际上没有通过代理调用 xxx 方法,则可以安全地忽略该警告

但是我不高兴在应用程序中有任何警告。习惯于忽略警告通常是不好的,而且我们的一些客户坚持“零警告政策”。

我们只需要这个类来获得WebServiceTemplate. 我们以某种方式使用它:

问题:

Spring 中是否有另一种方法(实际上,我们使用Spring Boot)来实现相同的结果,而无需过多的配置且没有警告

也许 Spring 有另一个具有相同功能的类,专为组合而设计?还是静态工厂方法?

0 投票
0 回答
625 浏览

java - Calling async Soap Webservice using Spring WebserviceTemplate which does not contain any response

I am calling ayncronus web service using WebserviceTemplate which does not return any response it only responds with 202 Accepted. I call using wsTemplate.marshalSendAndReceive(profileRequest, new WebServiceMessageCallback() { .... }

I am receiving error SAAJ0511: Unable to create envelope from given source. I suspect Client is expecting a SOAP XML response, but called WS does not return any response hence it is not able to unmarshal XML to java, hence this error is coming. Can any one explain how to resolve this? How to call a ayncronus web service which does not return any response only it is Accepted with 202 http response, using WebserviceTemplate

0 投票
1 回答
1044 浏览

java - JAXB.marshal 阻塞 web 服务调用

我正在使用 Spring WebserviceTemplate 对服务进行 SOAP 调用。我进行了性能测试以查看它在负载下的表现。我还有一个拦截器,可以将传入请求中的标头参数复制到我正在调用的服务中。

当我运行性能测试时,我看到下面的语句阻塞了 4-5 秒

这可能会阻塞有什么原因吗?

0 投票
1 回答
954 浏览

java - HttpComponentsMessageSender - 默认最大总连接数

我将 HttpComponentsMessageSender 设置为 WebserviceTemplate 的 messageSender。HttpComponentsMessageSender 默认拥有的 maxTotalConnections 是多少?如果达到定义的最大连接数,是否会导致与外部服务的 Web 服务连接等待?

0 投票
1 回答
2685 浏览

spring - 使用 Spring 异步调用 SOAP 服务

我必须异步调用 SOAP Web 服务。目前,我使用 Spring webservicetemplate 以同步方式调用它。

当前配置如下:

Java 调用如下所示:

我可以知道如何更改它以异步调用服务吗?或者我是否需要在春天使用其他东西来实现这一目标?

0 投票
3 回答
7256 浏览

java - 无法使用 Spring 的 WebServiceTemplate 将 Http 标头添加到消息中

我有一个相当简单的案例,我试图将 HTTP 标头(不是 SOAP 标头)添加到我使用 Spring 的WebServiceTemplate.

我已经定义了ClientInterceptor我正在做的事情:

这就是我配置SomeClientwhich extends的方式WebServiceConfigurationSupport

但是Authorization没有添加标题。我也尝试过CustomMessageCallback

但它似乎也不起作用。我在做什么错,为什么Authorization没有添加标题?谢谢!

0 投票
2 回答
1695 浏览

java - java - 如何在java中将soap响应转换为字符串?

我正在使用 WebServiceTemplate 来使用 SOAP 响应。出于记录目的,我需要以字符串形式获取 SOAP 响应。例如 ,"<envelope><body><name>xyz</name></body></envelope>"

0 投票
1 回答
1343 浏览

java - 将连接超时设置为 HttpComponentsMessageSender 时出现 java.lang.UnsupportedOperationException

我有一个使用 SOAP 向服务器发送消息的代码。我的代码如下所示:

我创建了一个 HttpComponentsMessageSender 来向请求添加一个信任库(并添加一个超时)

但是当我使用我的模板向服务器发送消息时,我收到了这个错误:

如果我删除带有超时的行:

一切正常。为什么超时不起作用?有人可以帮助我吗?提前致谢。

0 投票
0 回答
601 浏览

spring - 内存泄漏:org.springframework.ws.client.core.WebServiceTemplate

在此处输入图像描述在调用 SAOP Endpoint 的负载测试期间,我们使用的是 Spring 相关的:WebServiceTemplate

在评论这一行时,我没有遇到内存不足的问题

每个请求保留大约 16 MB

任何人都可以判断是因为还是 Jaxb2Marshaller(默认实现)?

0 投票
1 回答
2093 浏览

spring - Spring WS - 寻找请求标头/有效负载和响应标头/有效负载示例

我需要使用 Spring Framework 开发 Web 服务。场景是这样的:

我的程序将向服务发送 SOAP 请求(标头 + 有效负载),并期望从服务返回响应(标头 + 有效负载)。有效负载和标头都很重要,并且程序需要。

问题是我在 Spring WS 中找不到任何示例,其中标头和有效负载都是作为请求的一部分发送的,而标头和有效负载是从响应中提取的。

我正在使用WebServiceGatewaySupportandWebServiceTemplate发送请求和获取响应。

WebServiceTemplate提供2种发送请求的方法:

  • marshalSendAndReceive
  • sendAndReceive

问题marshalSendAndReceive是尽管我可以发送请求标头,但我不会取回响应标头。

问题sendAndReceive是我将无法发送请求标头,尽管我将能够提取响应标头。

目前唯一可用的解决方案是使用拦截器,但似乎这不是处理标头的正确方法,因为标头在到达调用函数之前被拦截。为了让调用函数访问响应头,我们需要将拦截器设置为有状态,这是不可取的。

我将非常感谢任何可以为我提供如何正确实现这一目标的示例的人的指导和帮助。

使用 sendAndReceive 时,请在下面找到我的代码:

上面的代码总是为响应头返回 null。