当前位置:网站首页>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
边栏推荐
- Abnova丨 MaxPab 小鼠源多克隆抗体解决方案
- How to open an account online for futures? Is it safe?
- Kubernetes resource object introduction and common commands (V) - (configmap & Secret)
- Informatics Olympiad 1338: [example 3-3] hospital setting | Luogu p1364 hospital setting
- Leetcode (695) - the largest area of an island
- 资源道具化
- 3.3、项目评估
- 插值查找的简单理解
- [Yugong series] go teaching course in July 2022 004 go code Notes
- Which securities is better for securities account opening? Is online account opening safe?
猜你喜欢

AI 从代码中自动生成注释文档

Cutting edge technology for cultivating robot education creativity

Duchefa丨S0188盐酸大观霉素五水合物中英文说明书

表单文本框的使用(二) 输入过滤(合成事件)

2022 Beijing eye health products exhibition, eye care products exhibition, China eye Expo held in November

When steam education enters personalized information technology courses

研學旅遊實踐教育的開展助力文旅產業發展

Abbkine丨TraKine F-actin染色试剂盒(绿色荧光)方案

渗透创客精神文化转化的创客教育

教你自己训练的pytorch模型转caffe(二)
随机推荐
最长摆动序列[贪心练习]
Abnova cyclosporin a monoclonal antibody and its research tools
Promouvoir le développement de l'industrie culturelle et touristique par la recherche, l'apprentissage et l'enseignement pratique du tourisme
中国管理科学研究院凝聚行业专家,傅强荣获智库专家“十佳青年”称号
获取前一天的js(时间戳转换)
挖财商学院给的证券账户安全吗?可以开户吗?
珍爱网微服务底层框架演进从开源组件封装到自研
Duchefa细胞分裂素丨二氢玉米素 (DHZ)说明书
科普|英语不好对NPDP考试有影响吗 ?
Classic implementation of the basic method of intelligent home of Internet of things
Make Jar, Not War
phpstudy小皮的mysql点击启动后迅速闪退,已解决
IC popular science article: those things about Eco
Abnova 环孢素A单克隆抗体,及其研究工具
[Yugong series] go teaching course in July 2022 004 go code Notes
Specification of protein quantitative kit for abbkine BCA method
When steam education enters personalized information technology courses
Clear app data and get Icon
小程序代码的构成
Informatics Orsay all in one 1339: [example 3-4] find the post order traversal | Valley p1827 [usaco3.4] American Heritage