当前位置: 首页 > news >正文

网站地图建设有什么用网站建设公司案例

网站地图建设有什么用,网站建设公司案例,广州凡科公司是外包吗,如何制作框架网页文章目录一、服务端代码开发1、pom依赖2、接口类3、接口实现类4、webservice配置文件2、客户端开发#xff08;1#xff09;pom依赖#xff08;2#xff09;封装客户端方法clientUtil#xff08;3#xff09;调用接口类#xff08;4#xff09;运行结果我们经常需要在两… 文章目录一、服务端代码开发1、pom依赖2、接口类3、接口实现类4、webservice配置文件2、客户端开发1pom依赖2封装客户端方法clientUtil3调用接口类4运行结果我们经常需要在两个系统之间进行一些数据的交互这时候我们就需要开发数据交互接口。 一般来说遇到比较多的接口有HTTP接口、WebService接口、FTP文件传输。今天我要来学习一下在SpringBoot框架下进行简单的webservice接口的开发。 一、服务端代码开发 创建了两个wbservice接口TestService和CatService。 1、pom依赖 导入相关的依赖包。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web-services/artifactId/dependencydependencygroupIdorg.apache.cxf/groupIdartifactIdcxf-rt-frontend-jaxws/artifactIdversion3.1.6/version/dependencydependencygroupIdorg.apache.cxf/groupIdartifactIdcxf-rt-transports-http/artifactIdversion3.1.6/version/dependency2、接口类 import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.xml.ws.WebServiceProvider;WebService(name TestService, // 暴露服务名称targetNamespace http://server.webservice.Bag.admin.com// 命名空间,一般是接口的包名倒序 ) public interface TestService {WebMethodpublic String sendMessage(WebParam(name username) String username);WebMethodpublic boolean getFlag(WebParam(name username) String username); }import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService;WebService(name CatService, // 暴露服务名称targetNamespace http://server.webservice.Bag.admin.com// 命名空间,一般是接口的包名倒序 ) public interface CatService {WebMethodpublic String message(WebParam(name name) String name); }3、接口实现类 import com.admin.Bag.webservice.server.TestService; import org.springframework.stereotype.Component;import javax.jws.WebService;WebService(serviceName TestService, // 与接口中指定的name一致targetNamespace http://server.webservice.Bag.admin.com, // 与接口中的命名空间一致,一般是接口的包名倒endpointInterface com.admin.Bag.webservice.server.TestService// 接口地址 ) Component public class TestServiceImpl implements TestService {Overridepublic String sendMessage(String username) {return Hello! username ;}Overridepublic boolean getFlag(String username) {//return true;} }import com.admin.Bag.webservice.server.CatService; import org.springframework.stereotype.Component;import javax.jws.WebService;WebService(serviceName CatService, // 与接口中指定的name一致targetNamespace http://server.webservice.Bag.admin.com, // 与接口中的命名空间一致,一般是接口的包名倒endpointInterface com.admin.Bag.webservice.server.CatService// 接口地址 ) Component public class CatServiceImpl implements CatService {Overridepublic String message(String name) {//return 一只小猫猫;} }4、webservice配置文件 import com.admin.Bag.webservice.server.impl.CatServiceImpl; import com.admin.Bag.webservice.server.impl.TestServiceImpl; import org.apache.cxf.Bus; import org.apache.cxf.bus.spring.SpringBus; import org.apache.cxf.jaxws.EndpointImpl; import org.apache.cxf.transport.servlet.CXFServlet; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import javax.xml.ws.Endpoint;Configuration public class cxfConfig {Beanpublic ServletRegistrationBean disServlet() {ServletRegistrationBean servletRegistrationBean new ServletRegistrationBean(new CXFServlet(), /webService/*);return servletRegistrationBean;}Bean(name Bus.DEFAULT_BUS_ID)public SpringBus springBus() {return new SpringBus();}Beanpublic Endpoint endpoint() {EndpointImpl endpoint new EndpointImpl(springBus(), new TestServiceImpl());endpoint.publish(/TestService);return endpoint;}Beanpublic Endpoint endpoint2() {EndpointImpl endpoint new EndpointImpl(springBus(), new CatServiceImpl());endpoint.publish(/CatService);return endpoint;}}启动项目。我的项目端口号是8080。浏览器访问地址http://localhost:8082/webService 可见接口信息CatService和TestService点进链接可以看每个接口的wsdl文档。 2、客户端开发 客户端是一个单独的项目。 1pom依赖 不同的SpringBoot版本对应的依赖版本也不一样我也是试了好久终于成了。我的SpringBoot版本号是2.3.0.RELEASE。 !-- 进行jaxes 服务开发 --dependencygroupIdorg.apache.cxf/groupIdartifactIdcxf-rt-frontend-jaxws/artifactIdversion3.0.1/version/dependency!-- 内置jetty web服务器 --dependencygroupIdorg.apache.cxf/groupIdartifactIdcxf-rt-transports-http-jetty/artifactIdversion3.0.1/version/dependency2封装客户端方法clientUtil import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;public class clientUtil {public static String callWebSV(String wsdUrl, String operationName, String... params) throws Exception {JaxWsDynamicClientFactory dcf JaxWsDynamicClientFactory.newInstance();Client client dcf.createClient(wsdUrl);//client.getOutInterceptors().add(new ClientLoginInterceptor(USER_NAME, PASS_WORD));Object[] objects;// invoke(方法名,参数1,参数2,参数3....);objects client.invoke(operationName, params);return objects[0].toString();} }3调用接口类 使用定时调用webservice接口。 import com.admin.webAppoint.webservice.client.clientUtil; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RestController;RestController Component public class TestController {//在一个方法中连续调用多次WebService接口每次调用前需要重置上下文。ClassLoader classLoader Thread.currentThread().getContextClassLoader();Scheduled(cron*/15 * * * * ?)public String getMessage() {Thread.currentThread().setContextClassLoader(classLoader);//在获取连接之前 还原上下文System.out.println(开始调用webservice接口);String url http://localhost:8082/webService/CatService?wsdl;String methodName message;System.out.println(Calling url);String result;try {resultclientUtil.callWebSV(url, methodName, name);} catch (Exception e) {System.err.println(接口调用失败);return 失败;}System.out.println(Finished!恭喜你啊CatService接口调用成功获得的数据是result);return Finished!;}Scheduled(cron*/5 * * * * ?)public String getMessage2() {Thread.currentThread().setContextClassLoader(classLoader);//在获取连接之前 还原上下文System.out.println(开始调用webservice接口);String url http://localhost:8082/webService/TestService?wsdl;String methodName sendMessage;System.out.println(Calling url);String result;try {resultclientUtil.callWebSV(url, methodName, username);} catch (Exception e) {System.err.println(接口调用失败);return 失败;}System.out.println(Finished!恭喜你啊TestService接口调用成功获得的数据是result);return Finished!;} }4运行结果 首先启动服务端。启动客户端。 遇到过报错 报错——使用cxf时报错org.apache.cxf.interceptor.Fault: Marshalling Error: XXX is not known to this context 最终成功调用服务端的webservice接口
http://www.sadfv.cn/news/386076/

相关文章:

  • 网站创意文案怎么做wordpress调用分类目录代码
  • 手机销售网站的建设西安seo网站公司
  • 外链 网站权重公司展厅装修效果图
  • 网站参数修改互联网推广开户
  • 深圳市住建局造价站镇江关键字优化公司
  • 深圳华企网站建设公司建设网站的步骤
  • 十堰优化网站排名公司响应式网站 价格
  • 手机网站建设流程 知乎网站开发外包项目网站
  • 网站程序的构成网站的运营维护
  • 网站可以放多少视频瀑布流网站源码
  • 浙江省建设监理协会管网站爱企查企业服务平台
  • 做网站创业需要注册公司吗cocos2d-js可以做网站吗
  • 如何选择坪山网站建设网站源码下载教程
  • 龙岩网站建设公司网站用户体验
  • 兰州专业做网站的公司哪家好建立企业网站公司
  • 静态网页模板 网站模板承德网站建设方案
  • 大连p2p网站建设企业网站的技术维护内容主要包括
  • html做网站经验技巧青岛李沧建设局网站
  • 郑州市多商家网站制作公司网站建设费如何做账
  • 个人域名备案有什么风险外贸网站seo公司排名
  • flash相册网站源码广州seo建站
  • 宜昌网站设计为什么wordpress后台写文章不一样
  • 网站页面设计与实现哈尔滨一恒建设
  • 响应式模板网站模板网站优化公司收费
  • 网络网站销售新品推广活动方案
  • 什么叫营销型网站建设腾讯微信小程序官网
  • 地图销售网站用html5做的网站代码
  • pc网站转wap网站厦门做网站最好的公司有哪些
  • 网站微信二维码侧边栏漂浮框网站建设流程教程
  • 大兴区制作网站的公司中山营销网站建设费用