2

第 3 方已向我提供了 Web 服务方法的定义,我创建了 java 类,maven schemagen 插件从这些类中出色地生成了 xsd。然后我设置了一个 spring-ws-servlet 等来发布 wsdl,只有 WSDL11Definition 类需要请求和响应后缀......我没有后缀。方法名称是 getAttribute、setAttribute、refreshDetails、manageAttribute 等。有谁知道解决这个问题的方法?是否有其他 wsdl 定义类可以引用来执行此操作,或者可能是其他提供程序(而不是 defaultWsdl11Definition 使用的 suffixProviders)?

任何帮助,将不胜感激!

4

1 回答 1

1

Spring-WS 是围绕“模式优先”设计的,而不是“代码优先”:

创建 Web 服务时,有两种开发风格:Contract Last 和 Contract First。当使用最后契约的方法时,您从 Java 代码开始,然后从中生成 Web 服务契约(WSDL,见边栏)。当使用契约优先时,您从 WSDL 契约开始,并使用 Java 来实现该契约。

Spring-WS 仅支持契约优先的开发风格,本节将解释原因。

可以使用“代码优先”使其工作,但您将面临一场战斗。

如果您想坚持使用 Spring-WS,那么我强烈建议您使用 Web 服务规范编写描述操作的 XML 模式,然后从该模式生成 java,或者手动编写 java。

于 2010-07-12T11:23:57.310 回答