java程序调用xfire发布的webService服务(二)
- package xfireTest;
- public interface XFireTestService {
- public String test(String cont);
- }
- package xfireTest.xfireTestImp;
- import xfireTest.XFireTestService;
- public class XFireTestImp implements XFireTestService {
- @Override
- public String test(String cont) {
- cont = "webService收到消息:" + cont;
- return cont;
- }
- }
- <service xmlns="http://xfire.codehaus.org/config/1.0">
- <!-- webService服务的名称 -->
- <name>XFireTest</name>
- <namespace>http://xfireTest/XFireTestService</namespace>
- <!-- 自己所写的接口路径 -->
- <serviceClass>
- xfireTest.XFireTestService
- </serviceClass>
- <!-- 实现类路径 -->
- <implementationClass>
- xfireTest.xfireTestImp.XFireTestImp
- </implementationClass>
- </service>
- package test;
- public interface XFireTestService {
- public String test(String cont);
- }
- package test;
- import org.codehaus.xfire.XFireFactory;
- import org.codehaus.xfire.client.XFireProxyFactory;
- import org.codehaus.xfire.service.Service;
- import org.codehaus.xfire.service.binding.ObjectServiceFactory;
- public class CallWebServiceTest1 {
- public static void main(String[] args) {
- Service srModel = new ObjectServiceFactory()
- .create(XFireTestService.class);
- XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
- .newInstance().getXFire());// 创建工厂实例
- String helloURL = "http://localhost:8082/xfireTest/services/XFireTest";
- try {
- XFireTestService service = (XFireTestService) factory.create(
- srModel, helloURL);
- System.out.println(service.test("测试"));
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
这里的调用是比较简单的,也没有什么问题,字符串的传递完全可以。
- package xfireTest;
- import java.io.Serializable;
- public class UserModel implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = -8344776127885486411L;
- public UserModel() {
- super();
- }
- public UserModel(String userName, int age) {
- super();
- this.userName = userName;
- this.age = age;
- }
- /**
- * 用户名
- */
- private String userName;
- /**
- * 用户年龄
- */
- private int age;
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- @Override
- public String toString() {
- return "UserModel [userName=" + userName + ", age=" + age + "]";
- }
- }
- package xfireTest;
- import javax.jws.WebParam;
- import javax.jws.WebService;
- @WebService(serviceName = "UserService", targetNamespace = "http://xfireTest/UserService")
- public interface UserService {
- public UserModel addUser(@WebParam(name = "user") UserModel user);
- }
- package xfireTest.xfireTestImp;
- import xfireTest.UserModel;
- import xfireTest.UserService;
- public class UserServiceImp implements UserService {
- @Override
- public UserModel addUser(UserModel user) {
- // System.out.println(user);
- System.out.println(user.getUserName() + ":" + user.getAge());
- return user;
- }
- }
- <service xmlns="http://xfire.codehaus.org/config/1.0">
- <!-- webService服务的名称 -->
- <name>UserService</name>
- <namespace>http://xfireTest/UserService</namespace>
- <!-- 自己所写的接口路径 -->
- <serviceClass>
- xfireTest.UserService
- </serviceClass>
- <!-- 实现类路径 -->
- <implementationClass>
- xfireTest.xfireTestImp.UserServiceImp
- </implementationClass>
- </service>
- package test;
- import org.codehaus.xfire.XFireFactory;
- import org.codehaus.xfire.client.XFireProxyFactory;
- import org.codehaus.xfire.service.Service;
- import org.codehaus.xfire.service.binding.ObjectServiceFactory;
- public class CallWebServiceTest2 {
- public static void main(String[] args) {
- Service srModel = new ObjectServiceFactory().create(UserService.class);
- XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
- .newInstance().getXFire());// 创建工厂实例
- String helloURL = "http://localhost:8082/xfireTest/services/UserService";
- try {
- UserService service = (UserService) factory.create(srModel,
- helloURL);
- UserModel user = new UserModel();
- user.setAge(22);
- user.setUserName("test");
- System.out.println(service.addUser(user));
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
- package test;
- import javax.jws.WebParam;
- import javax.jws.WebService;
- @WebService(serviceName = "UserService", targetNamespace = "http://xfireTest/UserService")
- public interface UserService {
- public UserModel addUser(@WebParam(name = "user") UserModel user);
- }
- package test;
- import java.io.Serializable;
- public class UserModel implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = 9024481738536854407L;
- public UserModel() {
- super();
- }
- public UserModel(String userName, int age) {
- super();
- this.userName = userName;
- this.age = age;
- }
- /**
- * 用户名
- */
- private String userName;
- /**
- * 用户年龄
- */
- private int age;
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- @Override
- public String toString() {
- return "UserModel [userName=" + userName + ", age=" + age + "]";
- }
- }
java程序调用xfire发布的webService服务(二)的更多相关文章
- java程序调用xfire发布的webService服务
昨天用xfire搭好了一个简单的webService的服务,可以在浏览器访问,今天便想要尝试以下如何调用这个服务及相关的方法.在网上查找了一些资料后,实现过程如下. 1.创建一个maven web项目 ...
- Java调用IIS发布的WebService
之前的一篇博客说了一个实例,就是用VS2005在IIS上发布WebService.今天我们来实现在Eclipse上用Java来调用昨天发布的WebService. 首先咋在浏览器中输入http://1 ...
- 如何调用别人发布的WebService程序
这篇经验会告诉我们如何调用别人发布的WebService,并且需要注意的事项.现在就拿获取天气预报的接口举例,因为文中不允许有链接,所以在下文图中有WebService链接的地址. 工具/原料 V ...
- VS2013如何调用别人发布的WebService程序
这篇经验会告诉我们如何调用别人发布的WebService,并且需要注意的事项.现在就拿获取天气预报的接口举例,因为文中不允许有链接,所以在下文图中有WebService链接的地址. 工具/原料 VS2 ...
- WebService学习总结——调用第三方提供的webService服务
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据. 气象中心的管理系统将收 ...
- WebService学习总结(四)——调用第三方提供的webService服务
http://www.cnblogs.com/xdp-gacl/p/4260627.html 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他 ...
- WebService学习--(四)调用第三方提供的webService服务
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...
- 【WebService】调用第三方提供的webService服务(七)
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...
- 自定义及发布一个webservice服务
自定义及发布一个webservice服务 - 声明 某个业务服务为webservice服务 通过@webservice 注解来声明 - 发布webservice服务 ...
随机推荐
- Django 部署到Nginx
在网上搜了很多篇Django+uwsgi+Nginx的部署文章,忙了一下午头昏脑胀,最终完成了部署.部署文章流程讲解都很好,但在细节上或许缺乏一些注意力,导致我多篇文章来回切换在字里行间寻找蛛丝马迹. ...
- django xadmin 集成DjangoUeditor富文本编辑器
本文档记录自己的学习历程! 介绍 Ueditor HTML编辑器是百度开源的在线HTML编辑器,功能非常强大 额外功能 解决图片视频等无法上传显示问题 Ueditor下载地址 https://gith ...
- How to get started with GIT and work with GIT Remote Repo
https://www.ntu.edu.sg/home/ehchua/programming/howto/Git_HowTo.html#zz-7. 1. Introduction GIT is a ...
- java Object类是可以接收集合类型的
废话不多说,上代码: package com.core.test; import java.util.ArrayList; import java.util.HashMap; import java. ...
- 将常用的Android adb shell 命令行封装为C#静态函数
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:adb命令是常用的Android命令行,自动化.代码调试.手工排查问题都会用的到,这里将常用的一些命令行封装 ...
- Selenium UI自动化解决iframe定位问题
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6735116.html 一个阴雨霏霏 ...
- SSD写入放大问题[转]
原文地址:http://blog.csdn.net/cywosp/article/details/29812433 之前在SSD(Solid State Drive)上设计并实现缓存系统用于存储数据块 ...
- HDU [P2819] swap
二分图行列匹配+输出路径 经典题,当且仅当一行匹配一列的时候,符合题意. 本题的难点在于如何输出路径,我们发现这个移动的过程就是将所有匹配选择排序,在选择排序时输出路径即可 #include < ...
- BZOJ 1076: [SCOI2008]奖励关 [DP 期望 状压]
传送门 题意:$n$种宝物,出现$k$次每次一种,每种宝物有价值和吃掉它之前必须要吃掉的宝物的集合,求采取最优策略的期望最大价值 1<=k<=100,1<=n<=15,分值为[ ...
- canvas绘制时钟及注释及save和restore的用法
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...