webService之helloword

Posted fjk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webService之helloword相关的知识,希望对你有一定的参考价值。

webservice 远程数据交互技术

    1.导入jar包(如果是 maven项目导入项目坐标)

    2.创建服务

    3.测试服务

我们使用maven来做测试服务

pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.baidu.webservicetest01</groupId>
	<artifactId>webservicetest01</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<!-- jdk版本1.7 -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<!-- cxf  ws开发包 -->
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-frontend-jaxws</artifactId>
			<version>3.0.1</version>
		</dependency>
			<!-- jetty  服务器包 -->
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-transports-http-jetty</artifactId>
			<version>3.0.1</version>
		</dependency>
		<!-- 使用log4j日志实现 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.7.12</version>
		</dependency>

		<!-- 使用rs客户端 -->
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-rs-client</artifactId>
			<version>3.0.1</version>
		</dependency>
	</dependencies>
</project>

  服务接口

package com.baidu.test;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public interface TestInterf {
	@WebMethod
	public void eat();
}

服务实现类

package com.baidu.test;
import javax.jws.WebService;
@WebService
public class TestImp implements TestInterf {
	public void eat() {
		System.out.println("该吃饭了");
	}

}

开启服务:

package com.baidu.test;
import javax.xml.ws.Endpoint;
public class PublishTest {
	public static void main(String[] args) {
		TestInterf tt=new TestImp();
		String address="http://localhost:9991/TestInterf";
		Endpoint.publish(address, tt);
		System.out.println("服务启动了");
	}
}

 

 

 

新建项目  和服务器的包结构必须相同

测试项目的 测试接口和服务器的接口必须一致

package com.baidu.test1;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService  //标识可以连接服务
public interface TestInterf {
	@WebMethod
	public void eat();
}

  

测试服务

package com.baidu.test1;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

public class Test02 {
	public static void main(String[] args) {
		// 编写客户端 调用发布WebService服务
		JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
		jaxWsProxyFactoryBean.setServiceClass(TestInterf.class);
		jaxWsProxyFactoryBean.setAddress("http://localhost:9991/TestInterf");
		// 创建调用远程服务代理对象
		TestInterf proxy = (TestInterf) jaxWsProxyFactoryBean.create();
		proxy.eat();
	}
}

  pom.xml  客户pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.baidu.webservicetest02</groupId>
	<artifactId>webservicetest02</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
	<dependencies>
	
		
		<!-- 要进行jaxws 服务开发 -->
  		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-frontend-jaxws</artifactId>
			<version>3.0.1</version>
		</dependency>

		<!-- 内置jetty web服务器  -->
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-transports-http-jetty</artifactId>
			<version>3.0.1</version>
		</dependency>
		
		<!-- 日志实现 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.7.12</version>
		</dependency>
	</dependencies>

</project>

  

 

以上是关于webService之helloword的主要内容,如果未能解决你的问题,请参考以下文章

webService之helloword(web)

gRPC之GoLang入门HelloWord(排版整理)

WebService_Demo

WebService

webservice创建部署和调用

hibernate之helloword(环境搭建)