当前位置:网站首页>Web Service简单入门示例
Web Service简单入门示例
2022-07-05 20:47:00 【全栈程序员站长】
大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。
Web Service简单入门示例
我们一般实现Web Service的方法有非常多种。当中我主要使用了CXF Apache插件和Axis 2两种。
Web Service是应用服务商为了解决每一个问题而提供的在线服务方案,其主要採用了SOAP(Simple Object Access Protocol)协议,传输数据格式使用XML格式来描写叙述。因此也具有跨平台的特性。
web广泛用到的技术:
- TCP/IP:通用 网络协议。被各种设备使用
- HTML( 标准通用标记语言下的一个应用):通用用户界面,能够使用HTML标签显示数据
- Java:写一次能够在不论什么系统执行的通用 编程语言,由于java具有跨平台特性
- XML( 标准通用标记语言下的一个子集):通用数据表达语言,在web上传送结构化数据的easy方法
他们的特点是其开放性。跨平台性,开放性正是Web services的基础。
以下是使用CXF Apache的插件实现Web Service的一个简单入门实例
1========新建一个服务接口
package com.clark;
import javax.jws.WebParam; import javax.jws.WebService;
@WebService public interface IHelloWorld { public String sayHello(@WebParam(name=”name”)String name); public int plus(int a,int b); } 2========服务接口实现类
package com.clark.impl;
import com.clark.IHelloWorld;
public class HelloWorldImpl implements IHelloWorld {
@Override public String sayHello(String name) { return “Hello Wolrd ,”+name; }
@Override public int plus(int a, int b) { return a+b; }
}
3============服务端
package com.clark.service;
import javax.xml.ws.Endpoint;
import com.clark.impl.HelloWorldImpl;
public class WebServiceApp { public static void main(String[] args) { System.out.println(“web service start”); HelloWorldImpl implementor = new HelloWorldImpl(); String address = “http://localhost:8080/IHelloWorld”; Endpoint.publish(address, implementor); System.out.println(“web service started”); } }
4============client(以下主要是针对Java普通程序的) package com.clark.client;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.clark.IHelloWorld;
public class HelloWorldClient { public static void main(String[] args) { JaxWsProxyFactoryBean svr = new JaxWsProxyFactoryBean(); svr.setServiceClass(IHelloWorld.class); svr.setAddress(“http://localhost:8080/CXFWebService/service/IHelloWorld”); IHelloWorld hw = (IHelloWorld) svr.create(); String name = hw.sayHello(” CXF Apache implements Web Service”); int result = hw.plus(2, 3); System.out.println(name); System.out.println(result); } }
4==============client(针对Spring中集成Web Service的Web开发) package com.clark.web;
import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.clark.IHelloWorld;
public class HelloWorldClient { public static void main(String[] args) { System.out.println(“Web Service start……….”); ApplicationContext context = new ClassPathXmlApplicationContext(“applicationContext.xml”); IHelloWorld helloWorld = (IHelloWorld)context.getBean(“client”); String name = helloWorld.sayHello(“1111111111”); int result = helloWorld.plus(3, 4); System.out.println(name+” “+result); System.out.println(“Web Service end……….”); } }
5============Spring 的 applicationContext.xml配置 <?xml version=”1.0″ encoding=”UTF-8″?
> <beans xmlns=”http://www.springframework.org/schema/beans” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:jaxws=”http://cxf.apache.org/jaxws” xsi:schemaLocation=” http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd”>
<jaxws:endpoint id=”helloWorld” implementor=”com.clark.impl.HelloWorldImpl” address=”/IHelloWorld” /> <bean id=”client” class=”com.clark.IHelloWorld” factory-bean=”clientFactory” factory-method=”create”/> <bean id=”clientFactory” class=”org.apache.cxf.jaxws.JaxWsProxyFactoryBean”> <property name=”serviceClass” value=”com.clark.IHelloWorld”/> <property name=”address”
value=”http://localhost:8080/CXFWebService/service/IHelloWorld”/> </bean> </beans>
6=============Spring中集成Web Service服务(CXF Servlet的配置),web.xml <?
xml version=”1.0″ encoding=”UTF-8″?> <web-app xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://java.sun.com/xml/ns/javaee” xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd” id=”WebApp_ID” version=”2.5″> <display-name>CXFWebService</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <!– <param-value>classpath:applicationContext.xml</param-value> –> <param-value>WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>CXFServlet</servlet-name> <display-name>CXFServlet</display-name> <servlet-class> org.apache.cxf.transport.servlet.CXFServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet>
<servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/service/*</url-pattern> </servlet-mapping> </web-app>
7=============启动服务,地址栏输入 http://localhost:8080/CXFWebService/service/IHelloWorld?
wsdl可以看到对应的SOAP协议在规格OK
版权声明:本文博客原创文章,博客,未经同意,不得转载。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117642.html原文链接:https://javaforall.cn
边栏推荐
- 教你自己训练的pytorch模型转caffe(二)
- Nprogress plug-in progress bar
- Abbkine BCA法 蛋白质定量试剂盒说明书
- Leetcode (695) - the largest area of an island
- Analysis of steam education mode under the integration of five Education
- Applet page navigation
- CCPC 2021 Weihai - G. shinyruo and KFC (combination number, tips)
- 小程序页面导航
- matplotlib绘图润色(如何形成高质量的图,例如设如何置字体等)
- 1. Strengthen learning basic knowledge points
猜你喜欢
珍爱网微服务底层框架演进从开源组件封装到自研
Maker education infiltrating the transformation of maker spirit and culture
基于AVFoundation实现视频录制的两种方式
IC popular science article: those things about Eco
Which is the best online collaboration product? Microsoft loop, notion, flowus
Abnova e (diii) (WNV) recombinant protein Chinese and English instructions
Abbkine BCA法 蛋白质定量试剂盒说明书
CADD course learning (7) -- Simulation of target and small molecule interaction (semi flexible docking autodock)
CVPR 2022 | common 3D damage and data enhancement
培养机器人教育创造力的前沿科技
随机推荐
AI 从代码中自动生成注释文档
Is the securities account given by the school of Finance and business safe? Can I open an account?
Abnova DNA marker high quality control test program
Propping of resources
Specification of protein quantitative kit for abbkine BCA method
2.8 basic knowledge of project management process
常用的视图容器类组件
Abnova丨血液总核酸纯化试剂盒预装相关说明书
Hongmeng OS' fourth learning
欢迎来战,赢取丰厚奖金:Code Golf 代码高尔夫挑战赛正式启动
渗透创客精神文化转化的创客教育
Abbkine丨TraKine F-actin染色试剂盒(绿色荧光)方案
研学旅游实践教育的开展助力文旅产业发展
MySQL fully parses json/ arrays
The Chinese Academy of Management Sciences gathered industry experts, and Fu Qiang won the title of "top ten youth" of think tank experts
Point cloud file Dat file read save
Interpreting the daily application functions of cooperative robots
Dry goods navigation in this quarter | Q2 2022
Codeforces Round #804 (Div. 2) - A, B, C
Abnova CRISPR spcas9 polyclonal antibody protocol