webservice接口的发布
使用xfire-client发布webservice接口:
commons-codec-1.3.jar
commons-httpclient-3.0.jar
在src 下创建META-INF/xfire/services.xml
=====================mail方法===============================
package cn.qgc.ch05.main;
import java.util.List;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import cn.qgc.ch05.web.WebInteface;
import cn.qgc.ch05.web.biz.WebUserBiz;
import cn.qgc.ch05.web.entity.User;
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
//创建服务接口模板
Service service=new ObjectServiceFactory().create(WebInteface.class);
//代理工厂
XFireProxyFactory factory=new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String Url="http://localhost:8080/web/services/CommonService";//web地址
try {
WebInteface web=(WebInteface)factory.create(service,Url);//根据接口和地址返回服务类
System.out.println(web.wether());//调用天气预报的接口
//注册用户
//创建服务接口模板
Service serviceUser=new ObjectServiceFactory().create(WebUserBiz.class);
//代理工厂
WebUserBiz sser=(WebUserBiz)factory.create(serviceUser,Url);//根据接口和地址返回服务类
User users=new User("mike", "1234");//获取信息
sser.add(users.getUsername(),users.getPassword());
//查询用户
List<User> list=sser.getInfo();
if(list.size()>0){
for (User user : list) {
System.out.println(user.getUsername()+"\t"+user.getPassword());
}
}else{
System.out.println("注册失败!");
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
======================services实现类===========================
package cn.qgc.ch05.web.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import cn.qgc.ch05.web.HibernateSessionFactory;
import cn.qgc.ch05.web.WebInteface;
import cn.qgc.ch05.web.entity.User;
public class WebIntefaceImpl implements WebInteface {
//实现天气接口
public String wether() {
Random random=new Random();
int ran=random.nextInt(3);
String message=null;
switch (ran) {
case 0:
message="晴天";
break;
case 1:
message="雨天";
break;
case 2:
message="阴天";
break;
default:
message="未知";
break;
}
return message;
}
}
========jsp==========
<%@page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="org.codehaus.xfire.service.Service"%>
<%@page import="org.codehaus.xfire.client.XFireProxyFactory"%>
<%@page import="org.codehaus.xfire.XFireFactory"%>
<%@page import="org.codehaus.xfire.service.binding.ObjectServiceFactory"%><%@page import="cn.qgc.ch05.web.WebInteface"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<%
Service service=new ObjectServiceFactory().create(WebInteface.class);
//代理工厂
XFireProxyFactory factory=new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String Url="http://localhost:8080/web/services/CommonService";//web地址
WebInteface web=(WebInteface)factory.create(service,Url);//根据接口和地址返回服务类
%>
</head>
<body>
<h4>广州,今天:<%=web.wether()%></h4>
</body>
</html>
==============web.xml==================
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- web中央控制器配置 -->
<servlet>
<servlet-name>xFireWebServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xFireWebServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
===========services.xml==================
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>CommonService</name>
<namespace>www.jbaptech.com.cn/CommonService</namespace>
<serviceClass>cn.qgc.ch05.web.WebInteface</serviceClass>
<implementationClass>cn.qgc.ch05.web.impl.WebIntefaceImpl</implementationClass>
</service>
</beans>
webservice接口的发布的更多相关文章
- Linux虚拟机:发布WebService接口出现异常,无法访问接口
Linux虚拟机:发布WebService接口出现异常,无法访问接口 今天在部署WebService工程的时候遇到的问题: 在Linux虚拟机上部署一个tomcat同时在tomcat下放置2个工程,其 ...
- webService接口发布失败问题
今天在原有工程上新增加了个webService接口的服务类,但是总提示 axis2 出错 File "/axis2-web/listSingleService.jsp" not f ...
- WebService:java配置类形式发布WebService接口及遇见的问题总结
配置WebService前需要以下依赖jar包 #版本只供参考,具体看项目 <dependency> <grouId>org.apache.cxf</grouId> ...
- Java调用webservice接口方法
java调用webservice接口 webservice的 发布一般都是使用WSDL(web service descriptive langu ...
- WebService---Android中访问WebService接口的方法
最近公司有个项目需要从Android平台访问WebService接口,实现向发布的函数传递对象.在网上找了一些资料,发现使用ksoap2可以调用WebService传递对象. 需要引入ksoap ...
- Webservice接口和Http接口
WebService又是一种高级应用,与之前学习的Struts.Spring.Hibernate等框架不同.WebService是面向服务的架构(SOA),看起来像是比SSH框架要大.那么它到底是做什 ...
- [置顶]
Java WebService接口生成和调用 图文详解
webservice简介: Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间 ...
- 【经验随笔】Java通过代理访问互联网平台提供的WebService接口的一种方法
背景 通常有两点原因需要通过代理访问互联网平台的提供的WebService接口: 1. 在公司企业内网访问外部互联网平台发布的接口,公司要求通过代理访问外网. 2. 频繁访问平台接口,IP被平台封了, ...
- 通过Java WebService接口从服务端下载文件
一. 前言 本文讲述如何通过webservice接口,从服务端下载文件.报告到客户端.适用于跨系统间的文件交互,传输文件不大的情况(控制在几百M以内).对于这种情况搭建一个FTP环境,增加了系统部署的 ...
随机推荐
- UVALive 3415 Guardian of Decency(二分图的最大独立集)
题意:老师在选择一些学生做活动时,为避免学生发生暧昧关系,就提出了四个要求.在他眼中,只要任意两个人符合这四个要求之一,就不可能发生暧昧.现在给出n个学生关于这四个要求的信息,求老师可以挑选出的最大学 ...
- vim 常用命令总结
https://www.ibm.com/developerworks/cn/linux/l-cn-tip-vim/ 1 文档开头末尾 [[ 开头 ]]末尾 2 删除全部 :%d 3 剪切.复制.粘贴 ...
- Android Studio 学习 - 程序安装
痛定思痛,从今天开始专心学习AndriodStudio.希望以此为契机,把Java学扎实.更希望自己能坚持下去,不要半途而废. 记录一些日常的工作以及碰到的问题,权当勉励自己.荀子曰:吾尝终日而思矣, ...
- 计算机网络——TCP三次、四次握手详解
三次握手:建立TCP连接 连接建立过程: B的TCP服务器进程先创建传输控制块TCB(存储了每一个连接中的一些重要信息,如:TCP连接表,到发送和接收缓存的指针,到重传队列的指针,当前的发送和接收序号 ...
- ios 页面传值4种方式(一) 之全局变量
通用的是用代理的方式实现页面传值,但是有时候利用其它方式也可以很巧妙的解决问题,页面传值一共有4种方式: 1.使用全局变量, SharedApplication,定义一个变量来传递. 2.使用文件,或 ...
- 因為 Hypervisor 未執行,所以無法啟動虛擬機器
bcdedit /set hypervisorlaunchtype auto https://technet.microsoft.com/zh-tw/magazine/2009.02.hyperv.a ...
- CMDB反思3
CMDB模型设计1 http://blog.vsharing.com/xqscool/A1274634.html 分类的问题上比较有感悟.在之前编写新版的CMDB模型的时候,曾将刀片机.x86服务器. ...
- jsoup 获取指定页面的所有链接(需后续完善)
java代码如下: import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; impor ...
- Ubuntu/CentOS使用BIND配置DNS服务器
------ubuntu server 12---------- 1.安装bind9 sudo apt-get -y install bind9 bind9utils 2.配置 /etc/bind/ ...
- c语言的几个重要知识点
内存结构 这是核心中的核心,请仔细看完,充分理解,否则请不要看下一节内容. 每个程序一启动都有一个大小为4GB的内存,这个内存叫虚拟内存,是概念上的,真正能用到的,只是很小一部分,一般也就是在几百 ...