【问题标题】:Apache CXF wsdl response issueApache CXF wsdl 响应问题
【发布时间】:2021-02-02 19:23:56
【问题描述】:

我正在尝试做一个 POC,但我无法更改肥皂客户端获取其 WSDL 定义的位置。当这个soap客户端实例化我正在POCing的服务时,他们的代码中有一个".wsdl"硬编码。首先,我有一个非常简单的服务,基本上是一个 hello world,可以在这里找到:https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jaxws_spring_boot/src/main/java/sample/ws

我遇到的问题是我不知道如何配置 jaxws 或 apache CXF 以将 WSDL URL 响应从 http://localhost:8080/Service/Hello?wsdl 切换到 http://localhost: 8080/服务/Hello.wsdl

我从上面的示例中删除了指标部分,我的 WebServiceConfig 如下所示:

@Bean
public Endpoint endpoint() {
    EndpointImpl endpoint = new EndpointImpl(bus, new HelloPortImpl());
    endpoint.publish("/Hello");
    return endpoint;
}

有没有办法让 apache CXF 响应来自 localhost/<myservice>.wsdl 而不是 localhost/<myservice>?wsdl 的 WSDL 文档

我觉得我错过了一些非常明显的东西。

【问题讨论】:

标签: java spring-boot web-services soap cxf


【解决方案1】:

最简单的事情可能是发出重定向,或者如果客户端不遵守该配置的重写规则。

您还可以从代码优先方法切换到合同 (WSDL) 优先方法,并将 WSDL 文档保存在其他位置。

?wsdl 在 CXF 内的多个位置被硬编码,因此不仅仅是要更改的配置。

【讨论】:

  • 是的,谢谢,我最终使用tuckey.org/urlrewrite 重写了网址以支持我需要的东西,谢谢。
猜你喜欢
  • 1970-01-01
  • 2017-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多