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

上海最有钱的公司资源网站排名优化seo

上海最有钱的公司,资源网站排名优化seo,网店详情页设计,苏州餐饮 网站建设Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。webservice用的是soap协议。 客户通过发送请求…

       Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。webservice用的是soap协议。

       客户通过发送请求(大部分是 XML消息)来召唤 WebServices ,而服务则返回 XML 响应。WebServices 通过网络调用通信,
HTTP作为两个框架之间的网络公认的最广泛的方法。Web 服务等效于 SOA (面向服务的体系结构) ,并且从根本上依赖于度量,例如 XML-RPC和 SOAP (简单对象访问协议)。

      Java项目中可以使用注解 @WebService 注解,你可以将普通的 Java 类转换成可发布为 Web 服务的类。 @WebService 是 Java API for XML Web Services(JAX-WS)中的注解,用于标识一个类或接口作为一个可通过网络访问的 Web 服务。

@WebService注解

@WebService-定义服务,有以下配置项
    targetNamespace:指定命名空间,一般是接口的包名倒序
    name:portType的名称,客户端生成代码时 为接口名称
    portName:port的名称
    serviceName:服务名称
    endpointInterface:SEI接口地址,如果一个服务类实现了多个接口,只需要发布一个接口的方法,可通过此注解指定要发布服务的接口。 

        类上添加注解@WebService,则类中所有 非静态方法 都会被发布;静态方法和 final 方法不能被发布;方法上加@WebMentod(exclude=true)后,此方法不被发布

@WebMethod注解

@WebMethod-定义方法,在公开方法上边
    operationName:方法名
    exclude:设置为true表示此方法不是webservice方法,反之则表示webservice方法,默认是false 

@WebParam

@WebParam-定义参数,在方法参数前边
    name:指定参数的名称

@WebResult

@WebResult-定义返回值,在方法返回值前边
    name:返回结果值的名称 

首先先实现一个接口:

package com.zhong.test.webservice;import java.util.List;import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;@WebService(name = "WebServiceTest", targetNamespace = "http://server.webservice.example.com")
public interface WebServiceTest{@WebMethodString emrService(@WebParam(name = "name") String name,@WebParam(name = "info") String info);@WebMethodString student1111(@WebParam(name = "name") String name,@WebParam(name = "info) String info);@WebMethodString aboutstudent(@WebParam(name="student") Student student);@WebMethodString studentlist(List<Student> list1);
}

然后在想要实现的服务中实现接口:

package com.zhong.test.webservice;import java.util.List;import javax.jws.WebParam;
import javax.jws.WebService;import org.springframework.stereotype.Component;@Component
@WebService( targetNamespace = "http://server.webservice.example.com",endpointInterface = "com.zhong.test.webservice.WebServiceTest")
public class WebServicecTestImp implements WebServiceTest{@Overridepublic String emrService( String name,String info) {if(null == name|| "".equals(name.trim())){return "传入的参数为空";}return "name="+name+"@info="+info;}@Overridepublic String student1111(String name, String info) {return "name="+name+"@info="+info;}@Overridepublic String aboutstudent(Student student) {System.out.println(student==null);return "student.getName()="+student.getName();}@Overridepublic String studentlist(List<Student> list1) {return "list1.size()="+list1.size();}}

然后再配置文件中注入配置;

package com.zhong.test.webservice;import javax.xml.ws.Endpoint;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.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class WebServiceConfig {@Autowiredprivate WebServiceTest webServiceTest;/*** Apache CXF 核心架构是以BUS为核心,整合其他组件。* Bus是CXF的主干, 为共享资源提供一个可配置的场所,作用类似于Spring的ApplicationContext,这些共享资源包括* WSDl管理器、绑定工厂等。通过对BUS进行扩展,可以方便地容纳自己的资源,或者替换现有的资源。默认Bus实现基于Spring架构,* 通过依赖注入,在运行时将组件串联起来。BusFactory负责Bus的创建。默认的BusFactory是SpringBusFactory,对应于默认* 的Bus实现。在构造过程中,SpringBusFactory会搜索META-INF/cxf(包含在 CXF 的jar中)下的所有bean配置文件。* 根据这些配置文件构建一个ApplicationContext。开发者也可以提供自己的配置文件来定制Bus。* 非必要项*/@Bean(name = Bus.DEFAULT_BUS_ID)public SpringBus springBus() {return new SpringBus();}/***** 这里需要注意  由于springmvc 的核心类 为DispatcherServlet,此处若不重命名此bean的话 原本的mvc就被覆盖了。可查看配置类:DispatcherServletAutoConfiguration* 一种方法是修改方法名称 或者指定bean名称,* 这里需要注意 若beanName命名不是 cxfServletRegistration 时,会创建两个CXFServlet的。具体可查看下自动配置类:Declaration org.apache.cxf.spring.boot.autoconfigure.CxfAutoConfiguration** 也可以不设置此bean 直接通过再application中的配置项 cxf.path 来修改访问路径的* http://127.0.0.1:8080/soap/列出服务列表 或 http://127.0.0.1:8080/soap/ws/api?wsdl 查看实际的服务*/
@Bean("cxfServletRegistration")
public ServletRegistrationBean dispatcherServlet() {//注册servlet 拦截/ws 开头的请求 不设置 默认为:/services/*return new ServletRegistrationBean(new CXFServlet(), "/ws/*");
}@Beanpublic Endpoint endpoint() {EndpointImpl endpoint = new EndpointImpl(springBus(), webServiceTest);endpoint.publish("/ws/api");return endpoint;}
}

测试的时候也可以使用一下方式测试:

ublicstatic void main(String[] args) {  /*** 参数1:服务的发布地址* 参数2:服务的实现者*/ Endpoint.publish("http://192.168.24.138:456/helloWord",new WebServiceTestImpl()); }

       EndPoint是 jdk 提供的一个专门用于发布服务的类,该类的publish()方法接收两个参数,一个是本地的服务地址,二是提供服务的类。位于javax.xml.ws.Endpoint包中。

http://www.dinnco.com/news/62628.html

相关文章:

  • 什么网站可以做设计兼职友情链接交换网址大全
  • 做网站买什么空间公关
  • 上海建站网站简洁案例做互联网推广的公司
  • 免费教育网站建设营销心得体会感悟300字
  • 温州企业做网站免费友情链接
  • 网站开发合同编号如何编写高端定制网站建设公司
  • 网站seo设计网站建设制作费用
  • 安卓手机app开发软件下载seo臻系统
  • 哪个网站有做车库门的营销型网站建设运营
  • 汽车网站建设页面seo是什么化学名称
  • 去年做那些网站能致富百度搜索推广优化师工作内容
  • 网站开发助理干嘛的核心关键词
  • 北京php网站开发最近三天的新闻大事简短
  • 广州企业网站营销电话济南seo优化公司
  • 推荐一本学做网站的书中国婚恋网站排名
  • 建立公司需要什么长沙网站托管seo优化公司
  • 国内网站制作特点东莞seo广告宣传
  • 天津海外seo宁波seo外包引流推广
  • 衡阳建网站seo工作内容有哪些
  • 网站域名备案更改吗企业营销策划书
  • 黄页哪个网站好下载班级优化大师
  • 延安网站开发seo快速建站
  • 网站建设时间表百度大数据查询怎么用
  • windows2012iis网站默认设置全国疫情最新
  • 免费手机做网站灰色词快速排名方法
  • 淘客做网站的软件南宁网站seo
  • 有专门做面包的网站么seo入门教程网盘
  • 做的好的网站九江seo
  • 用vue做pc端网站好吗网络营销手段有哪些
  • 网站空间域名费广州市运营推广公司