问题标签 [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 回答
2778 浏览

java - JAX-WS 返回空列表

我是网络服务的新手。我遇到了一些问题。在服务器端,我使用的是 spring-ws。在客户端,我使用的是 jax-ws。使用 wsimport 工具,我根据我的 wsdl 生成了 java 类。

一切正常,但由于某种原因 jax-ws 无法正确解析数组和列表,所有列表都是空的

我绝对确定,该响应是正确的,用soapui对其进行了测试,而且我正在使用日志拦截器来记录输出响应。

以下是回复片段

反应看起来像

和wsdl的片段

要生成客户端代码,我使用 wsimport。

谢谢你。任何帮助将不胜感激。

0 投票
0 回答
849 浏览

java - 无法从“SignatureConfirmation”元素中读取令牌..(Java-WCF)

我有一个 WCF(3.5) 客户端与 Java Web 服务(Spring-WS,WSS4J)交谈,客户端在接收来自服务器的响应时失败,给出以下异常消息

无法从 BinarySecretSecurityToken 的“ http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd ”命名空间的“SignatureConfirmation”元素中读取令牌,并带有“”ValueType。如果预期此元素有效,请确保将安全性配置为使用具有指定名称、命名空间和值类型的令牌。

这是我的客户端配置

有人知道这个错误吗?

谢谢,

耻辱

0 投票
1 回答
897 浏览

java - Spring-WS SecurityInterceptor 操作级别

我有一个 Spring-WS 服务使用PayloadRootAnnotationMethodEndpointMapping它有几个拦截器:

securityIntercetor是一个Wss4jSecurityInterceptor拦截器。

一切正常,除了securityIntercetor@Endpoint级别,我希望它在@PayloadRoot(操作)。

我验证用户的方式是使用UsernameToken,然后我反对 LDAP 并获​​取角色,并根据我想要允许/禁止用户执行操作的角色。

我认为没有开箱即用的解决方案。

所以我的问题是:我如何securityIntercetor才能获得正在调用的操作,以便我可以根据我的设置检查是否允许执行特定操作。

或者,也许你有其他想法。

谢谢。

0 投票
3 回答
1608 浏览

java - Spring Webservices:什么应该是好的起点?

我是全新的Spring Web Services,所以我应该开始关注什么概念,我应该在哪里寻找它们,一般来说,你会推荐哪些步骤来加快使用Spring WebservicesModule。

注意:我需要为不同的应用程序构建 Web 服务并使用 Web 服务,而我过去从未使用过 Web 服务,我正在寻找 Spring WS 选项,因为这两个应用程序都是使用 Spring Framework 开发的,这是一个好的是否要寻找 Spring WS 的假设?

任何有关讨论方法的指导和建议都将受到高度赞赏。

谢谢。

0 投票
2 回答
10929 浏览

spring-ws - 如何使用springsource工具套件进行spring web service开发?

如何使用springsource工具套件进行spring web service开发?快速了解如何需要链接/指导

0 投票
2 回答
2880 浏览

spring - Spring-WS:如何在不启动 Web 服务的情况下生成 WSDL?

我们使用 Spring-WS 作为实现 Web 服务的基础(使用框架生成的 WSDL)。除了 WAR 文件,我们的构建还生成了一个客户端 JAR(供我们的 Java 客户端和我们自己的端到端功能测试使用),其中包含模式生成的 DTO 和用于 Web 服务方法的存根。这些是使用 wsimport (JAX-WS) 生成的。问题是这会产生一个多步骤的构建过程:

  1. 构建服务器WAR文件;
  2. 启动 Tomcat(使 WSDL 可用);
  3. 生成客户端存根(将 wsimport 指向 WSDL url)。

有什么方法可以生成 WSDL 而无需启动 Web 服务?然后我们可以一步构建所有内容。

0 投票
2 回答
6264 浏览

glassfish - org.xml.sax.SAXParseException:cvc-elt.1:找不到元素“bean”的声明

我已经构建了一个简单的 Spring WS (1.5.9),我正在尝试将它部署到 Glassfish v3。不幸的是,由于上述原因,部署失败。我自己一直在努力解决这个问题,但它显然无法解决“bean”元素。

这是我spring-ws-servlet.xml(bean定义):

我也用schemaLocationset tospring-beans-3.0.xsd进行了尝试,结果相同。

我的 WAR 只有一个依赖项,那就是 Spring-WS。

0 投票
1 回答
735 浏览

jpa - Spring-WS 和 Straight-JPA (EclipseLink) 配置和部署

我已经实现了一个 EJB3 / JPA Web 服务,没有任何重大问题,现在我转向了一个 Spring-WS/JPA Web 服务。两者都被部署到 Glassfish。

我对 JPA 的理解有限,但默认情况下事务是容器管理的?你如何改变这个?有了 EJB3,事情就很简单了,因为我可以将其注入EntityManager到“DAO”中(下次再讨论!),@PersistentContext容器将负责事务划分。就基本配置而言,就是这样。由于容器使用 JTA,因此我在持久性单元上指定了事务类型“JTA”。在我的带有一个持久性单元的非常简单的示例应用程序中,我不必关心它的名称 - 如果您有多个持久性单元,事情会变得更复杂还是容器会处理这个问题?

现在我已经用 Spring-WS 构建了一个等效的 Web 服务,并重用了我的实体/dao,但我一直在努力让它工作。我在我的应用程序上下文中包含了EntityManagerFactory( LocalContainerEntityManagerFactoryBean) 以及JpaTransationManager(bean 对EntityManagerFactory) 的 bean 定义。我还包括了PersistenceAnnotationBeanPostProcessortx命名空间。我不会认为我需要做任何其他事情,但它不会部署没有可用于“null”错误的持久性提供程序。

我是否需要指定要为其创建管理器的实际持久性单元?

谢谢,

更新:

好的,我收到以下错误:javax.persistence.PersistenceException: No Persistence provider for EntityManager named null。

这可能是我对工厂/经理的弹簧配置:

我想我可能需要或注入其他东西......

另一个更新:

修复了该问题 - 使用的是LocalEntityManager而不是LocalContainerEntityManager.

现在我在持久化我的对象时遇到了问题。我有一个带有子对象作为属性的父对象。当我调用时,我可以看到子对象被持久化在日志中em.persist(parent),但父对象没有被持久化。

最后更新:

父对象被持久化了,但是在我尝试检索它之前事务还没有提交(我是在模拟而不是模拟)。想我现在已经掌握了它的要点。

0 投票
1 回答
5096 浏览

java - Spring-WS:指定 Content-Type

我有一个基于AbstractJDomPayloadEndpoint. 该服务工作正常,除了我的客户端需要将 HTTP 标头Content-Type设置为正确的字符集(在我的情况下为 utf-8)。我找不到可以配置的地方。

我尝试编写一个简单的 servlet Filter

但这根本不会改变标题。我怀疑内容类型标头是由 Spring-WS 设置的,并且响应已提交,因此我在过滤器中设置的任何内容都不会产生影响。

我的应用服务器是 WebLogic 9.2.3。

0 投票
1 回答
8927 浏览

java - Spring-WS WSDL 生成问题

我正在尝试制作一个非常简单的 Web 服务,并且在让 spring 生成正确的 wsdl 时遇到了一些困难。我已尽力复制此春季教程中的示例。如果有人知道我做错了什么,我将非常感谢您的帮助。

本质上,有一个名为 IncidentHeaderEndpoint 的 EndPoint(目前没有任何功能)。我希望调用客户端以以下形式发送 xml 请求:

我的端点看起来像这样:

当我在 tomcat 中部署时,我收到以下警告:

这是我的弹簧配置:

这是我的架构 - WEB-INF/trust-service.xsd:

这是位于http://localhost:8080/trust-service/browseIncidents/browse.wsdl的有问题的 WSDL :