如何在Spring Boot應(yīng)用程序中配置了兩個(gè)不同的SOAP Web服務(wù)端點(diǎn)
在Spring Boot應(yīng)用程序中配置了兩個(gè)不同的SOAP Web服務(wù)端點(diǎn)
新建一個(gè)CustomMessageDispatcherServlet類,以擴(kuò)展以下MessageDispatcherServlet類,
import org.springframework.ws.transport.http.MessageDispatcherServlet; import javax.servlet.http.HttpServletRequest; public class CustomMessageDispatcherServlet extends MessageDispatcherServlet { @Override protected String transformWsdlLocation(HttpServletRequest request, String wsdlLocation) { String requestUri = request.getRequestURI(); if (requestUri.contains("/WebservicesConnector/services/countries")) { return "countries.wsdl"; } else if (requestUri.contains("/FinancingService/FinancingUpdate.asmx")) { return "kinsai.wsdl"; } return super.transformWsdlLocation(request, wsdlLocation); } }
messageDispatcherServlet
@Bean public ServletRegistrationBean<CustomMessageDispatcherServlet> messageDispatcherServlet() { CustomMessageDispatcherServlet servlet = new CustomMessageDispatcherServlet(); servlet.setApplicationContext(applicationContext); servlet.setTransformWsdlLocations(true); return new ServletRegistrationBean<>(servlet, "/ws/*"); }
擴(kuò)展:基于SpringBoot 的SOAP WebService實(shí)現(xiàn)
一、使用postman工具調(diào)用服務(wù)接口
成功啟動(dòng)springboot應(yīng)用后,使用postman新建POST請(qǐng)求,地址: http://localhost:8080/soap/userManagement
正文body選擇raw,XML格式。
headers填入如下鍵值對(duì):
其中xlms字段是 WSDL中的namespace字段。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.tmy.example.org/"> <soapenv:Header/> <soapenv:Body> <ser:getUserByName> <name>Jerry</name> </ser:getUserByName> </soapenv:Body> </soapenv:Envelope>
發(fā)送請(qǐng)求,返回了一個(gè)User類 。
至此,webservice SOAP服務(wù)發(fā)布測(cè)試成功。
二、使用客戶端測(cè)試接口
新建客戶端模塊,maven依賴和服務(wù)端相同。
實(shí)體類User、服務(wù)接口UserManagement.java和服務(wù)端保持一致。
客戶端結(jié)構(gòu)如下:
測(cè)試類如下:
@SpringBootApplication public class WebserviceClientApplication { public static void main(String[] args) { SpringApplication.run(WebserviceClientApplication.class, args); JaxWsDynamicClientFactory dcflient=JaxWsDynamicClientFactory.newInstance(); Client client=dcflient.createClient("http://localhost:8080/soap/userManagement?wsdl");//http://localhost:8080/soap/userManagement System.out.println("client= "+client); try{ //namespace= http://service.tmy.example.org/ QName opname=new QName("http://service.tmy.example.org/","getUserByName"); Object[] objects=client.invoke(opname,"Jerry");//getUserByName System.out.println("getUserByName 調(diào)用結(jié)果:"+objects[0].toString()); }catch (Exception e){ e.printStackTrace(); } } }
啟動(dòng)服務(wù)端后,運(yùn)行客戶端,返回了一個(gè)User類,說明客戶端測(cè)試成功。
到此這篇關(guān)于在Spring Boot應(yīng)用程序中配置了兩個(gè)不同的SOAP Web服務(wù)端點(diǎn)的文章就介紹到這了,更多相關(guān)Spring Boot應(yīng)用程序配置了兩個(gè)不同的SOAP Web服務(wù)端點(diǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
根據(jù)list中對(duì)象的屬性去重和排序小結(jié)(必看篇)
下面小編就為大家?guī)硪黄鶕?jù)list中對(duì)象的屬性去重和排序小結(jié)(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05ProtoStuff不支持BigDecimal序列化及反序列化詳解
這篇文章主要為大家介紹了ProtoStuff不支持BigDecimal序列化/反序列化,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08使用Filter實(shí)現(xiàn)登錄權(quán)限驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了使用Filter實(shí)現(xiàn)登錄權(quán)限驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10一篇文章教你使用SpringBoot如何實(shí)現(xiàn)定時(shí)任務(wù)
這篇文章主要給大家介紹了關(guān)于如何利用一篇文章教你使用SpringBoot實(shí)現(xiàn)定時(shí)任務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10SpringBoot讀取properties中文亂碼解決方案
本文主要介紹了在Spring?Boot中讀取帶有中文字符串的application.properties文件時(shí)遇到亂碼問題的解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12Java使用POI將多個(gè)Sheet合并為一個(gè)Sheet
這篇文章主要為大家詳細(xì)介紹了Java使用POI將多個(gè)Sheet合并為一個(gè)Sheet,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Java讀取resources中資源文件路徑以及jar中文件無法讀取的解決
這篇文章主要介紹了Java讀取resources中資源文件路徑以及jar中文件無法讀取的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05SpringBoot使用AOP+注解實(shí)現(xiàn)簡(jiǎn)單的權(quán)限驗(yàn)證的方法
這篇文章主要介紹了SpringBoot使用AOP+注解實(shí)現(xiàn)簡(jiǎn)單的權(quán)限驗(yàn)證的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05