日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring boot webService使用方法解析

瀏覽:157日期:2023-08-12 17:19:45

以前一家公司,項目用到webservice,不過后來沒待多久,當時也要弄別的也就沒有研究,

這次也遇到過這樣一個使用場景,需要對接別人的一個人臉識別服務,在什么都沒有的情況下,對方只給了一個wsdl的地址過來,全程都靠自己去研究了.

先就webservice 講下自己的理解把,感覺有點像websockt ,它可以實現一個服務端, 然后在客戶端去調用服務端去完成服務端的操作.

這里使用spring-boot

1.先創建spring-boot項目,引入jar包

2.創建一個對象.

<!-- web Services --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>3.2.7</version> </dependency>

創建一個服務端接口

package com.sunzy.mywebservice;import lombok.Getter;import lombok.Setter;/**auth : szy *time : 2020-01-03 **/@Getter@Setterpublic class Person { private Integer id; private String name; private String niceName; private Integer age; private Double height;}

服務端的實現方法

package com.sunzy.mywebservice.service.Impl;import com.alibaba.fastjson.JSONArray;import com.sunzy.mywebservice.Person;import com.sunzy.mywebservice.service.TestApiService;import org.springframework.stereotype.Component;import javax.jws.WebService;import java.util.List;/**auth : szy *time : 2020-01-03 **/@Component@WebService(name = 'testApiService', targetNamespace = 'http://service.mywebservice.sunzy.com', endpointInterface = 'com.sunzy.mywebservice.service.TestApiService', portName = '10000')public class TestApiServiceImpl implements TestApiService { @Override public Person insertPersonInfo(String person) { System.out.println('服務端接口到了請求:person='+person); List<Person> list = JSONArray.parseArray(person, Person.class); //TODO 邏輯處理 return list.get(0); }}

配置文件,將服務進行開放出去,給外部使用.

到這里已經完成了,運行項目.訪問地址:http://localhost:8080/ws/testApiService?wsdl

Spring boot webService使用方法解析

能輸出下面,表示服務端部署成功了.

那么下面是客戶端如何去訪問

可以新建一個項目,這里采用本項目去調用.用idea 去解析wsdl,生成對應的代碼.

選擇項目

Spring boot webService使用方法解析

通過wsdl,生成java代碼.

Spring boot webService使用方法解析

上面填生成的地址,下面試填寫包名,重點 這里上面的地址是要有效能訪問到的,不然程序是讀取不到東西的,更不要說解析了

生成代碼完成后,可以看到代碼:

Spring boot webService使用方法解析

調用方法,這里就自己寫一個控制器,模仿下客戶端去調用.

package com.sunzy.mywebservice.controller;/** * @title: Hello * @projectName mywebservice * @description: TODO * @author :szy * @date 2020/1/3-15:44 */import com.sunzy.mywebservice.Person;import com.sunzy.mywebservice.config.TestApiServiceImplService;import com.sunzy.mywebservice.service.TestApiService;import org.apache.cxf.endpoint.Client;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import java.net.URL;import java.util.Map;/**auth : szy *time : 2020-01-03 **/@RestController@RequestMapping('/adminWebservice')public class Hello { // 獲取單位信息 @GetMapping(value='/sync') public String sync(@RequestParam(value='data') String data) throws Exception{ // 接口地址 String address = 'http://localhost:8080/ws/testApiService?wsdl'; // 代理工廠 JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean(); // 設置代理地址 jaxWsProxyFactoryBean.setAddress(address); // 設置接口類型 jaxWsProxyFactoryBean.setServiceClass(TestApiService.class); // 創建一個代理接口實現 TestApiService us = (TestApiService) jaxWsProxyFactoryBean.create(); // 數據準備 String userId = '[{'name':'JACK'},{'name':'TOM'}]'; // 調用代理接口的方法調用并返回結果 Person person = us.insertPersonInfo(userId); System.out.println('返回結果:' + person.toString()); return 'index'; } // 動態調用 外部調用 @GetMapping(value='/dontest') public String dontest(@RequestParam(value='data') String data) throws Exception{ JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf.createClient('http://127.0.0.1:8080/ws/testApiService?wsdl'); Object[] objects = new Object[0]; try { // invoke('方法名',參數1,參數2,參數3....); // 數據準備 String userId = '[{'name':'JACK'},{'name':'TOM'}]'; objects = client.invoke('insertPersonInfo', userId); System.out.println('返回數據:' + objects[0]); } catch (java.lang.Exception e) { e.printStackTrace(); } return 'index'; } // 動態調用 外部調用(外部模擬客服端調用服務端) @GetMapping(value='/dontest2') public String dontest2(@RequestParam(value='data') String data) throws Exception{ //調用服務端 TestApiServiceImplService serviceImplService = new TestApiServiceImplService(); com.sunzy.mywebservice.config.TestApiService apiService = serviceImplService.get10000(); String userId = '[{'name':'小紅'},{'name':'小藍'}]'; com.sunzy.mywebservice.config.Person x = apiService.insertPersonInfo(userId); //服務端返回的數據 System.out.println('返回數據:' + x.toString()); return 'index'; }}

通過postman可以看到調用成功.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费人成黄页网站在线一区二区 | 女生影院久久| 97se综合| 黄色精品网站| 久久天堂精品| 日韩中文欧美在线| 国产视频网站一区二区三区| 麻豆精品少妇| 精品日韩视频| 日韩精品一区第一页| 欧美日韩18| 精品视频黄色| 国产亚洲一区在线| 国产精品三级| 亚洲高清成人| 日本成人一区二区| 成人亚洲一区| 亚洲一卡久久| 久久这里只有| 狠狠久久伊人| 天使萌一区二区三区免费观看| 日本精品另类| 麻豆中文一区二区| 午夜av一区| 国产欧美二区| 影院欧美亚洲| 国产精品成人3p一区二区三区| 成人日韩在线观看| 亚洲69av| 欧美性感美女一区二区| 久久激情av| 欧美日韩国产探花| 精品视频在线观看网站| 日韩午夜在线| 国产欧美一级| 国产精品视区| 日韩伦理一区| 国产欧美日韩视频在线| 野花国产精品入口| 国产成人久久精品一区二区三区| 视频一区二区三区入口| sm久久捆绑调教精品一区| 婷婷综合成人| 偷拍欧美精品| 日韩av二区| 亚洲人成精品久久久| 久久久夜精品| 精品久久久久中文字幕小说| 日本不卡视频一二三区| 亚洲国产欧美日本视频| 日本久久一区| 亚洲主播在线| 欧美精品一二| 欧美亚洲日本精品| 国产精品777777在线播放| 影音先锋久久精品| 中文另类视频| 国产96在线亚洲| 国产探花在线精品一区二区| 日韩精品一级中文字幕精品视频免费观看 | 日产午夜精品一线二线三线| 亚洲v天堂v手机在线| 精精国产xxxx视频在线野外| 日韩二区三区在线观看| 夜久久久久久| 樱桃成人精品视频在线播放| 国产一区二区三区四区| 狠狠干综合网| 久久久久蜜桃| 97人人精品| 卡一卡二国产精品| 精品三级国产| 日本成人中文字幕在线视频| 日韩中文字幕亚洲一区二区va在线 | 国产日韩专区| av一区二区高清| 成人久久一区| 国产欧美一区二区三区精品酒店 | 亚洲一区二区动漫| 欧美日韩视频免费观看| 日韩av片子| 国产在线一区不卡| 日韩二区在线观看| 在线国产日韩| 欧美女激情福利| 日韩免费小视频| 日韩欧美一区免费| 国产精品流白浆在线观看| 久久免费黄色| 免费视频一区三区| 深夜视频一区二区| 久久免费视频66| 国产96在线亚洲| 日韩电影免费网址| 麻豆精品少妇| 精品亚洲免a| 黄色aa久久| 午夜av成人| 国产二区精品| 国产精品色婷婷在线观看| 国产日韩一区| 蜜桃精品视频| 天堂中文在线播放| 久久久精品五月天| 99热精品久久| 国产精品视区| 日韩在线卡一卡二| 日本а中文在线天堂| 久久国产直播| 不卡福利视频| 久久中文欧美| 亚洲成人一区在线观看| 亚洲特级毛片| 久久高清一区| 日韩福利在线观看| 麻豆视频一区二区| 久久精选视频| 综合精品一区| 麻豆精品一区二区综合av| 亚洲成人不卡| 免费观看在线综合色| 日本欧美大码aⅴ在线播放| 男女激情视频一区| 精品视频国内| 国产毛片久久| 麻豆精品在线视频| 99精品电影| 日韩有吗在线观看| 欧美成a人片免费观看久久五月天| 黄色网一区二区| 一区在线视频观看| 国产日韩一区二区三区在线 | 在线中文字幕播放| 亚洲免费观看| 国产精品久久久免费| 精品一区欧美| 国产午夜一区| 亚洲精品国产偷自在线观看| 国产另类在线| 99视频+国产日韩欧美| 国产乱码精品一区二区三区亚洲人| 欧美日韩国产v| 日韩激情中文字幕| 九一国产精品| 精品三级国产| 久久亚洲风情| 三级在线看中文字幕完整版| 欧洲激情综合| 久久精品欧洲| 自拍自偷一区二区三区| 热三久草你在线| 欧美日韩精品一区二区三区视频 | 欧美日韩一二三四| 国产麻豆精品久久| 91九色精品| 日韩成人精品一区二区| 一区二区三区四区在线观看国产日韩| 日产午夜精品一线二线三线| 日韩三级精品| 999在线观看精品免费不卡网站| 久久国内精品自在自线400部| 高清av不卡| 国产精品欧美大片| 亚洲综合福利| 国产精品91一区二区三区| 麻豆精品蜜桃视频网站| 中文一区一区三区免费在线观| 久久久久久久久久久9不雅视频| 国产精品视频一区二区三区 | 激情婷婷综合| yellow在线观看网址| 欧美亚洲三级| 美日韩精品视频| 国产精品伦理久久久久久| 日本强好片久久久久久aaa| 中日韩男男gay无套| 亚洲国产欧美日本视频| 欧美a一区二区| 欧美一区免费| 综合激情一区| 日韩制服丝袜先锋影音| 日韩一区二区久久| 宅男在线一区| 久久国产直播| 色婷婷久久久| 91精品精品| 免费一二一二在线视频| 四虎成人av| 国产精选久久| 国产精品手机在线播放| 91精品美女| 久久国产麻豆精品| 日韩精品久久理论片| 亚州国产精品| 亚洲ww精品| 日本伊人久久| 欧美有码在线| 国产精品tv| 精品久久美女| 欧美韩日一区|