首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖WSDL中的整个地址

覆盖WSDL中的整个地址
EN

Stack Overflow用户
提问于 2018-02-14 17:43:23
回答 1查看 2.1K关注 0票数 7

我使用以下指南创建了一个简单的spring SOAP webservice:https://spring.io/guides/gs/producing-web-service/

我正在将它部署到云服务中,但前面将有一个API管理层。

我希望WSDL能够使用API管理层的URL。(实际上是硬编码地址。)

我尝试过两种方法:

  1. 使用DefaultWsdl11Definition.setLocationUri() @Bean(name = "countries")公共DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema countriesSchema) { DefaultWsdl11Definition wsdl11Definition =新DefaultWsdl11Definition();DefaultWsdl11Definition wsdl11Definition.setSchema(countriesSchema);返回wsdl11Definition;}
  2. 使用SimpleWsdl11Definition.setWsdl()指向手工编辑的WSDL @Bean(name = "countries")公共SimpleWsdl11Definition defaultWsdl11Definition(XsdSchema countriesSchema) { SimpleWsdl11Definition wsdl11Definition =新SimpleWsdl11Definition();wsdl11Definition.setWsdl(new ClassPathResource("countries.wsdl"));//此WSDL被编辑成具有我希望返回的路径wsdl11Definition;}

我在和Maven一起建房子。在这两种情况下,应用程序承载的WSDL将主机名替换为它正在运行的服务器,例如http://localhost:8080/,然后使用URI的其余部分。

代码语言:javascript
复制
    <wsdl:service name="CountriesPortService">
    <wsdl:port binding="tns:CountriesPortSoap11" name="CountriesPortSoap11">
    <soap:address location="http://localhost:8080/ws"/>
    </wsdl:port>
    </wsdl:service>

如何设置/重写

EN

回答 1

Stack Overflow用户

发布于 2018-04-16 09:23:23

我认为您正在类的setTransformWsdlLocations(true)方法中使用messageDispatcherServlet。此设置将根据正在运行的环境转换URL。删除这一行,以便它将采取默认的fals设置&它不会覆盖。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48793251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档