网站首页 > java教程 正文
一、java工程发布,java工程调用
(一)、服务器端的编写
1、在eclipse里新建java project工程,创建功能类,通过关键字@webservice(name="newInstance"),默认为类名
2、然后再创建一个代main函数的类(完成发布)
public class publishGoodInf{
public static void main(String[] args){
Endpoint.publis("http://172.16.11.93:8080/GoodInfo",new GoodInfo());
}
}
这样服务器端代码就完成了!
3、下面就开始发布吧,在eclipse里运行application程序(含有main函数的程序)。
然后打开浏览器,输入:http://172.16.11.93:8080/GoodInfo?wsdl
出现xml文档则发布成功。
(二)、客户端调用
Ⅰ、手动生成jar包调用服务器代码
(1)、在dos下键入命令:wsimport http://172.16.11.93:8080/GoodInfo?wsdl
(2)然后再利用jar cvf express_client.jar(自己的包名) com/ifly/ws/*
(3)两个命令得到的东西
(4)现在在eclipse新建一个java project工程,新建一个包含main函数的类,导入express_client.jar到该工程下
(5)然后运行application程序,控制台输出:info:Hello World
Ⅱ、不用在dos下利用命令生成jar包,直接利用eclipse自动生成
(1)方法如下:首先新建java project,然后在该工程上,单击鼠标右键,选择new -->web services -->web service client,然后确定。
在该工程下会自动生成一系列java文件和jar包
(2)同样新建一个类进行调用:
(3)运行application程序,控制台输出:info:Hello World
二、maven发布,java工程调用
(一)maven发布
(1)、首先在pop文件中引用依赖包
(2)、在maven工程下 新建个ws包,把GoodInfo类(即你编写的要发布出去的功能类)放进去;
以下是GoodInfo类
(3)然后运行该maven项目
(4)在浏览器中输入 http://172.16.11.93:8888/schedule/services/GoodInfo?wsdl
(5)浏览器中显示如下xml文件则发布成功
(二)java调用
Ⅰ、手动生成jar包调用服务器代码
(1)、和java工程调用方法一样,用wsimport 和jar命令或者用eclipse自动生成调用
(2)、运行application程序
结果:info:Hello World
Ⅱ、不在dos下利用命令生成jar包,而是直接利用eclipse自动生成
(1)、生成方法同第一种(java工程发布,java工程调用)里的eclipse自动生成
(2)、把生成的java文件全部删除
(3)、然后创建一个类(包含main函数)进行调用
a、创建Service实例
b、通过Service实例创建Call实例
c、将Web Service的服务路径加入到call实例之中
d、调用Web Service的方法
e、调用Web Service,传入参数
f、设置返回值类型
g、调用invoke()
(4)、运行application程序
结果:
application控制台:信息:Hello World
maven控制台:orderNo:1
三、利用cxf框架发布web service
(一)、服务器端编写
(1)、新建java web项目
(2)、配置web.xml文件
(3)、在WEB-INF/下创建beans.xml文件
(4)、导入apache-cxf-2.2.1压缩包下lib文件夹下所有的jar包(不是全部需要,节省时间全部导入)
(5)、把功能实现类拷贝懂啊src包中
a、GoodInfo接口
b、接口实现类
(6)、运行tomcat
(7)、浏览器中输入:http://localhost:8080/CXFDemo/webservice/GoodInfo?wsdl
(8)、出现xml页面发布成功
(二)客户端编写
(1)、创建java project工程
(2)、导入apache-cxf-2.2.1压缩包下lib文件夹下所有的jar包
(3)、拷贝GoodInfo 接口到src下
(4)、创建测试类(包含main函数)
(5)、配置beans_client.xml文件
(6)、运行结果
info:Hello World
猜你喜欢
- 2024-10-16 第三方接口调用方案设计(第三方接口调用方式)
- 2024-10-16 java连接数据库的常见问题及解决办法
- 2024-10-16 Java Servlet实现Hessian接口调用
- 2024-10-16 Java调用外部程序的疑惑?(java调用外部类)
- 2024-10-16 Spring6.1新特性,四种方式调用REST接口(RestClient...)
- 2024-10-16 netty系列之:使用netty搭建websocket客户端
- 2024-10-16 Java 中的 Http 客户端 API:身份验证
- 2024-10-16 axis2客户端调用免费的webservice服务的实例
- 2024-10-16 程序员2022年你不懂RPC远程过程调用,RPC框架的话真的要被淘汰了
- 2024-10-16 K8S官方java客户端之五:proto基本操作
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)