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

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

Spring boot webService使用方法解析

瀏覽:155日期: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久久,三上悠亚国产精品一区二区三区
久久精品av麻豆的观看方式| 国产日韩欧美一区| 国产精品国产三级国产在线观看| 欧美色综合网| 国产精品hd| 高清av一区| 久久精品亚洲人成影院| 精品久久久网| 中文字幕系列一区| 国产高清精品二区| 国产成人精品一区二区三区免费| 九九久久国产| 日韩精品一区二区三区免费观影 | 在线天堂中文资源最新版| 精品中文在线| 精品亚洲美女网站| 国产亚洲一区在线| 日韩精品中文字幕吗一区二区| 国产精品毛片视频| 国产欧美91| 久久精品亚洲| 亚洲不卡系列| 美女久久一区| 欧美+亚洲+精品+三区| 最新日韩av| 亚洲精品乱码久久久久久蜜桃麻豆| 日韩欧美久久| 久久在线91| 精品欠久久久中文字幕加勒比| 久久夜夜操妹子| 老牛影视一区二区三区| 国产亚洲人成a在线v网站| 精品黄色一级片| 91精品一区二区三区综合在线爱| 亚洲国产专区校园欧美| 中文字幕av亚洲精品一部二部 | 视频一区二区三区中文字幕| 99热精品在线| 91精品美女| 日本久久综合| 午夜欧美视频| 国产精品久久久免费| 麻豆成全视频免费观看在线看| 欧美99久久| 欧美亚洲一区二区三区| 麻豆91在线播放| 在线国产一区| 国产日韩欧美| 国产综合亚洲精品一区二| 日韩精品社区| 中文在线资源| 亚洲精品欧洲| 黑森林国产精品av| 日韩中文字幕在线一区| 手机在线电影一区| 免费一区二区视频| 国产精品片aa在线观看| 91久久国产| 久久精品国产999大香线蕉| 亚洲国产专区| 国产精品乱战久久久| 蜜桃视频欧美| 国产精品mv在线观看| 好看不卡的中文字幕| 精品一区av| 日韩精品亚洲aⅴ在线影院| 亚洲二区免费| 免费日韩成人| 麻豆国产欧美一区二区三区| 久久精品国产网站| 视频一区视频二区中文| 国产一区二区三区亚洲| 日韩午夜高潮| 久久伊人国产| 亚洲一区区二区| 国产欧美三级| 午夜一级久久| 日韩在线二区| 国产精品手机在线播放| 丝袜国产日韩另类美女| 亚洲最新无码中文字幕久久| 婷婷视频一区二区三区| 蜜桃视频欧美| 高清久久精品| 国产精品视频3p| 丝袜美腿成人在线| 欧美不卡在线| 亚洲欧洲专区| 午夜精品婷婷| 神马午夜在线视频| 国产乱码精品一区二区亚洲| 久久xxxx精品视频| 日韩在线不卡| 蜜桃视频一区二区三区| 麻豆视频一区二区| 首页欧美精品中文字幕| 精品国产第一福利网站| 久久精品 人人爱| 先锋亚洲精品| 欧美精品羞羞答答| 天堂网av成人| av中文资源在线资源免费观看| 欧美综合精品| 最新国产精品视频| 亚洲激情偷拍| 狠狠躁少妇一区二区三区| 国产情侣久久| 日韩欧美中文字幕在线视频| 美女精品在线观看| 自拍日韩欧美| 999精品一区| 中文字幕在线视频网站| 精品一区二区三区的国产在线观看 | 伊人国产精品| 亚洲午夜av| se01亚洲视频| 群体交乱之放荡娇妻一区二区| 青青草视频一区| 国产欧美啪啪| 日韩精品1区2区3区| 亚洲日本国产| 香蕉久久一区| 日韩av网站在线免费观看| 日韩激情av在线| 欧美日韩一区自拍| 国产探花在线精品一区二区| 国产欧美91| 久久一区国产| 韩日一区二区| 国产夫妻在线| 九九九精品视频| 9999国产精品| 成人污污视频| 免费一区二区三区在线视频| 九九九精品视频| 精品99在线| 国内在线观看一区二区三区| 国产精品xx| 国产精品久久久久av电视剧| 91精品一区二区三区综合在线爱| 免费精品国产| 中文字幕一区二区精品区| 免费成人在线视频观看| 日韩三级一区| 精品视频一区二区三区四区五区 | 亚洲三级欧美| 国产精品久久久久久久久妇女| 国产白浆在线免费观看| 超碰在线99| 激情91久久| 午夜在线视频一区二区区别| 日韩欧美高清一区二区三区| 国产三级一区| 欧美日韩激情| 欧美日韩高清| 亚洲人成高清| 国产麻豆一区二区三区精品视频| 麻豆成人综合网| 久久视频国产| 亚洲69av| 精品久久视频| 亚洲一区二区三区高清| 青青草精品视频| 成人在线免费观看91| 999视频精品| 日韩视频一二区| 国产精品99在线观看| 狠狠久久婷婷| 国产视频一区二| 高清av一区| 国产女优一区| 麻豆一区二区在线| 合欧美一区二区三区| 911亚洲精品| 欧美日韩精品免费观看视欧美高清免费大片 | 99国产精品久久久久久久成人热| 91九色精品国产一区二区| 日韩国产在线观看一区| 日韩电影在线视频| 热久久免费视频| 精品色999| 9国产精品视频| 精品国产午夜肉伦伦影院| 激情五月综合| 麻豆国产精品777777在线| 欧美日韩国产亚洲一区| 鲁大师精品99久久久| 99在线|亚洲一区二区| 精品一区二区三区亚洲| 水蜜桃久久夜色精品一区的特点| 里番精品3d一二三区| 美女精品一区| 日韩在线观看| 国产精品一区二区三区美女| 亚洲激情社区| 国产一区二区三区黄网站| 老色鬼久久亚洲一区二区| 色综合五月天| 久久久国产精品入口麻豆| 欧洲毛片在线视频免费观看|