当前位置:网站首页>Simple getting started example of Web Service
Simple getting started example of Web Service
2022-07-05 20:53:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm the king of the whole stack , I've prepared for you today Idea Registration code .
Web Service A simple introduction example
We generally achieve Web Service There are many ways to do this . I mainly used CXF Apache Plug ins and Axis 2 Two kinds of .
Web Service It is an online service solution provided by application service providers to solve every problem , It mainly adopts SOAP(Simple Object Access Protocol) agreement , The transmission data format uses XML Format to describe narration . Therefore, it also has the characteristics of cross platform .
web Widely used technology :
- TCP/IP: Universal Network protocol . Used by various devices
- HTML( Standard universal markup language Next application ): Universal user interface , Able to use HTML The label displays data
- Java: Write a generic that can be executed on any system programing language , because java With cross platform features
- XML( Standard universal markup language Next subset ): Universal data representation language , stay web Upload structured data easy Method
Their characteristic is their openness . Cross-platform sex , Openness is just Web services The basis of .
Here are the USES CXF Apache Plug in implementation of Web Service A simple example of getting started
1======== Create a new service interface
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======== Service interface implementation class
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============ Server side
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( The following is mainly aimed at Java Ordinary program ) 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( in the light of Spring In the integration Web Service Of Web Development ) 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 Of applicationContext.xml To configure <?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 In the integration Web Service service (CXF Servlet Configuration of ),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============= Start the service , Address field input http://localhost:8080/CXFWebService/service/IHelloWorld?
wsdl You can see the corresponding SOAP Agreement in specification OK
Copyright notice : This article is an original blog article , Blog , Without consent , Shall not be reproduced .
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/117642.html Link to the original text :https://javaforall.cn
边栏推荐
- phpstudy小皮的mysql点击启动后迅速闪退,已解决
- poj 3414 Pots (bfs+线索)
- Careercup its 1.8 serial shift includes problems
- LeetCode: Distinct Subsequences [115]
- 珍爱网微服务底层框架演进从开源组件封装到自研
- 基于flask写一个接口
- Abnova CD81 monoclonal antibody related parameters and Applications
- Which securities is better for securities account opening? Is online account opening safe?
- 产品好不好,谁说了算?Sonar提出分析的性能指标,帮助您轻松判断产品性能及表现
- Écrire une interface basée sur flask
猜你喜欢
Abnova丨CRISPR SpCas9 多克隆抗体方案
Duchefa cytokinin dihydrozeatin (DHZ) instructions
Norgen AAV extractant box instructions (including features)
Make Jar, Not War
Research and development efficiency improvement practice of large insurance groups with 10000 + code base and 3000 + R & D personnel
Applet event binding
Abnova fluorescent dye 620-m streptavidin scheme
Specification of protein quantitative kit for abbkine BCA method
Wanglaoji pharmaceutical's public welfare activity of "caring for the most lovely people under the scorching sun" was launched in Nanjing
表单文本框的使用(二) 输入过滤(合成事件)
随机推荐
Abnova maxpab mouse derived polyclonal antibody solution
序列联配Sequence Alignment
Abnova e (diii) (WNV) recombinant protein Chinese and English instructions
CareerCup它1.8 串移包括问题
When a user logs in, there is often a real-time drop-down box. For example, entering an email will @qq com,@163. com,@sohu. com
Duchefa丨S0188盐酸大观霉素五水合物中英文说明书
Abnova丨 MaxPab 小鼠源多克隆抗体解决方案
Common view container class components
Is it safe to open a stock account by mobile phone? My home is relatively remote. Is there a better way to open an account?
Chemical properties and application instructions of prosci Lag3 antibody
Duchefa丨MS培养基含维生素说明书
教你自己训练的pytorch模型转caffe(一)
Abnova 环孢素A单克隆抗体,及其研究工具
14、Transformer--VIT TNT BETR
如何让化工企业的ERP库存账目更准确
Duchefa p1001 plant agar Chinese and English instructions
How to make ERP inventory accounts of chemical enterprises more accurate
PHP deserialization +md5 collision
Redis唯一ID生成器的实现
Which securities is better for securities account opening? Is online account opening safe?