Tag: webservices client

是否有另一种方法可以在Spring Boot中获取WebServiceTemplate而不是WebServiceGatewaySupport#getWebServiceTemplate()?

Spring提供了org.springframework.ws.client.core.support.WebServiceGatewaySupport类,它是根据Spring文档 a 方便的超类,适用于需要Web服务访问的应用程序类。 该课程显然是为扩展而设计的 。 它是abstract所以它不能被实例化为bean,所以我不能使用组合而不是inheritance 。 但是,当我inheritance该类时,Spring开始抱怨: [WARN] org.springframework.framework.CglibAopProxy – 无法代理接口实现方法 [public final void org.springframework.ws.client.core.support.WebServiceGatewaySupport.afterPropertiesSet()throws java.lang.Exception] 因为它被标记最后 : 考虑使用基于接口的JDK代理! 各种资源(例如https://github.com/spring-projects/spring-boot/issues/8974 )说的像 如果您实际上没有通过代理调用xxx方法,则可以安全地忽略该警告 但是我很高兴在申请中发出任何警告。 习惯忽略警告通常不好,而且我们的一些客户坚持“零警告政策”。 我们只需要该类来获取WebServiceTemplate 。 我们正在以某种方式使用它: response = getWebServiceTemplate().marshalSendAndReceive( uri, request, new SoapActionCallback(soapAction)); 题: 在Spring中是否有另一种方法(实际上,我们使用Spring Boot )来实现相同的结果,而无需额外的配置和没有警告 ? 也许Spring有另一个具有相同function的类用于组合? 还是静态工厂方法?

具有代理和Autentification的WS客户端

我知道这不是提出问题的正确方法,但我遇到了问题: 我有一个本地存储的wsdl,我需要创建一个Web服务客户端来调用该Web服务。 问题是服务是在防火墙后面,我必须通过代理连接到它,然后我必须validation连接到WS。 我所做的是使用Apache CXF 2.4.6生成WS客户端,然后设置系统范围的代理 System.getProperties().put(“proxySet”, “true”); System.getProperties().put(“https.proxyHost”, “10.10.10.10”); System.getProperties().put(“https.proxyPort”, “8080”); 我知道这不是最好的做法,所以请提出一个更好的解决方案,如果有人能给我一个关于如何设置认证的提示我真的很感激它