我正在用Spring Boot迈出第一步,并创建一个SOAP web服务。
按照生成SOAP Web服务(https://spring.io/guides/gs/producing-web-service/)教程,我设法创建了一个简单的Web服务。
扩展该示例,现在我正在尝试创建具有多个操作的 Web 服务。这次我使用 wsdl 来生成所有 JAXB 类。一切都正确生成,我可以调用Web服务并因此获得wsdl。
然后,我使用SOAP UI根据返回的wsdl为我的方法生成示例请求,但是当我试图执行它们时,我得到了错误(实际上是警告):
警告10280---[nio-8080-exec-1]o.s.ws.server。EndpointNotFound:未找到[SaajSoapMessage Ping]的endpoint映射
过去两天我一直被困在这里。考虑到问题可能是我的endpoint方法的参数不匹配,我尝试创建一个接收单个字符串的operationg (Ping ),但即使这样也失败了。
我正在使用一个配置器类,我能找到的所有示例都使用配置文件(web.xml和servlet文件),我无法将这些部分放在一起来解决这个问题。
这是我的配置类(我已经删除了导入以节省空间):
package ws;
@EnableWs
@Configuration
public class WebServiceConfig extends WsConfigurerAdapter {
@Bean
public ServletRegistrationBean messageDispatcherServlet(ApplicationContext applicationContext) {
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "/SVN/*");
}
@Bean (name = "SVNClient")
public Wsdl11Definition defaultWsdl11Definition() {
SimpleWsdl11Definition wsdl11Definition = new SimpleWsdl11Definition();
wsdl11Definition.setWsdl(new ClassPathResource("/wsdl/SVNClient.wsdl"));
return wsdl11Definition;
}
}
这是我拥有endpoint的类(为了节省空间,我已经删除了导入):
package ws;
@Endpoint
public class WebServiceEndPoint {
private static final String NAMESPACE_URI = "http://gestion.svn.client";
@Autowired
public WebServiceEndPoint() {
System.out.println("Entramos en WebServiceEndPoint");
}
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "Ping")
public @ResponsePayload PingResponse ping() {
PingResponse resposta = new PingResponse();
resposta.setOut("I'm in");
return resposta;
}
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "getLog")
public @ResponsePayload GetLogResponse getLog(@RequestPayload InputParameters wsPayload) {
GetLogResponse response = new GetLogResponse();
response.setCODERROR("0");
response.setMENSAJEERROR("I'm in");
return response;
}
我的怀疑是:
@Endpoint
和@PayloadRoot
注释是否足以将endpoint映射到web服务操作?我的意思是:
在重新构建wsdl之后,它开始工作。我想有些事情不对劲,它不符合我的endpoint定义。
我是使用Spring SOAP W的新手。我学习了许多教程,并试图适应这个示例的需要,但从未成功,我得到了这样的消息:找不到[SaajSoapMessage { http://ws . veritran . net/vtAuthServer/types } validatePOTCRequest]的endpoint映射 这是梅的代码: 这是我的终点: 这是我的服务级别: 这是我的WSDL定义 最后
以下是从终端返回的确切消息: 错误:安装sass时出错:错误无法生成gem本机扩展。当前目录:/Library/Ruby/Gems/2.0。0/gems/ffi-1.9。18/ext/ffi_c/System/Library/Frameworks/Ruby。framework/Versions/2.0/usr/bin/ruby-r/siteconf20170721-3751-3vsh43。rb e
问题内容: 我开始使用TypeScript编写AngularJS应用。我有这个简单的模块命令: 当我跑步时,我得到了: 我是否需要包括一些内容以使他们理解? 问候, 问题答案: 您可以通过告诉编译器“您对角度的全部了解”来简单地告诉编译器不再担心: 为了获得所有好的工具和类型检查,您需要提取Angular类型定义,以便编译器知道可用的东西。 如果您对自己喜欢的IDE使用Visual Studio或
我在文件夹system32中有文件夹run。当我从Total Commander中运行cmd时,打开一个命令提示符窗口,当前目录为C:\Users\admin,并希望进入该文件夹,将输出以下错误消息: 系统找不到指定的路径。 当我直接在文件夹中打开cmd时,它工作得非常好。为什么? 在C:\Windows\System32\run中打开命令提示符窗口: 简单运行cmd时的命令提示窗口:
当我的应用程序SP和客户端IdP之间出现SSO时,我收到了“由:org.opensaml.xml.security.SecurityException:SAML消息预期目标endpoint与收件人endpoint不匹配”的“异常”。 服务器日志显示了架构的差异,请参见下文: 我的应用程序在2个实例上的STG上运行,LB在前,因此我使用< code > SAMLContextProviderLB 上
我怎样才能解决这个问题?