xfire webServeic 例子,参考网上众多例子,自己写得完成了,给大家分享

大家只要按这个目录去建文件就可以了,然后运行,至于其中原理慢慢理会吧

环境:myeclipse 10 +xfire1.1.6

目录

架包:

.

下面就是文件的添加或修改:

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">
<display-name></display-name> <servlet>
<servlet-name>XFireServlet</servlet-name>
<display-name>XFire Servlet</display-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping> <servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping> <listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

services.xml

<!-- START SNIPPET: services -->
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloService</name>
<namespace>http://com.xfireDemo/HelloService</namespace>
<serviceClass>com.xfire.IHello</serviceClass>
<implementationClass>com.xfire.HelloService</implementationClass>
<scope>request</scope>
</service>
</beans>
<!-- END SNIPPET: services -->

接口HelloService实现:

package com.xfire;

import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID; public class HelloService implements IHello{
public String sayHello(String name){
return name+",你好!";
} public List<String> uploadFile() {
List<String> list=new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
return list;
} /**
* 文件上传 zpf
* @param classType 目录类型如:产品,头像
* @param fileUrls 文件路径
* @param img_urlFileName 文件名字
* @param resouceType 资源类型如:image,vedio,doc
* @param objName 产品下新目录。null表示无用
* @return
*/ public String remoteFileUpload(String classType, byte[] filebytes,String img_urlFileName, String resouceType, String objName) {
String path=getPorjectPath();
String serverPath="";
if (filebytes!=null && filebytes.length > 0) {
try{
if(filebytes!=null&&filebytes.length>0){
String ext = img_urlFileName.substring(img_urlFileName.lastIndexOf("."));
String fname = UUID.randomUUID().toString();
String savePath="";
//放入文件目录
if (objName != null) {
savePath = path+"\\files"+ "\\" + classType + "\\" + objName + "\\"
+ resouceType + "\\";
serverPath="\\files"+ "\\"+ classType + "\\" + objName + "\\"+ resouceType + "\\" + fname + ext;
/*savePath = path+"\\files"+ "\\";
serverPath="\\files"+ classType + "\\" + objName + "\\"+ resouceType + "\\" + fname + ext;*/
} else {
savePath = path+"\\files" + "\\" + classType + "\\" + resouceType + "\\";
serverPath ="\\files"+ "\\"+classType + "\\" + resouceType + "\\"+ fname + ext;
/*savePath = path+"\\files" + "\\";
serverPath ="\\files"+classType + "\\" + resouceType + "\\"+ fname + ext;*/
} System.out.println("savePath:"+savePath);
File filePath=new File(savePath);
if (!filePath.exists()) {
filePath.mkdirs();
} File file = new File(savePath+ fname + ext);
file.createNewFile(); FileOutputStream fos=new FileOutputStream(file);
fos.write(filebytes);
fos.close();
path=file.getAbsolutePath();
System.out.println(path);
file=null;
} }catch(Exception ex){
ex.printStackTrace();
}
} return serverPath;
} private String projectName="XFireProject"; // 你项目的名称
//获取当前项目的绝对路径
public String getPorjectPath(){
String nowpath; //当前tomcat的bin目录的路径 如 D:\java\software\apache-tomcat-6.0.14\bin
String tempdir;
nowpath=System.getProperty("user.dir");
tempdir=nowpath.replace("bin", "webapps"); //把bin 文件夹变到 webapps文件里面
tempdir+="\\"+projectName; //拼成D:\java\software\apache-tomcat-6.0.14\webapps\sz_pro
return tempdir;
} }

接口IHello:

package com.xfire;

import java.util.List;

public interface IHello {
public String sayHello(String name);
public List<String> uploadFile();
public String remoteFileUpload(String classType, byte[] data,String img_urlFileName, String resouceType, String objName);
}

下面就是写得测试类了:

TestClient

package com.xfire;

import java.net.MalformedURLException;

import org.codehaus.xfire.XFire;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory; /**
* 通过XFire生成的客户端进行调用
*
* TestClient.java
* com.liuxiang.xfire
* XFireProject
* @author liuxiang mailto:juxtapose@163.com
* 2007-9-9 下午06:54:36
*
*/
public class TestClient {
public static void main(String[] args) {
Service serviceModel = new ObjectServiceFactory().create(IHello.class);
XFire xfire=XFireFactory.newInstance().getXFire();
XFireProxyFactory factory=new XFireProxyFactory(xfire);
String serviceUrl = "http://localhost:8080/XFireProject/services/HelloService";
IHello ds= null;
try {
ds=(IHello)factory.create(serviceModel, serviceUrl);
} catch (MalformedURLException e) {
e.printStackTrace();
}
System.out.println(ds.sayHello("Tom"));
} }

运行Main方法就可以执行

URL可以运行 http://localhost:8080/XFireProject/services/HelloService

代码没问题都是经过测试的

源码:http://download.csdn.net/detail/zpf5126/7457087

宝贝网址:

xfire webServeic 例子的更多相关文章

  1. Web服务,XFire的一个例子

    Web服务优点 互操作性:实现不同系统间的相互调用(语言无关.平台无关) Web服务是什么 Web 服务是一类应用程序,是能够用编程的方法通过Web调用来实现某个功能的应用程序 Web服务的体系结构 ...

  2. SOAP: java+xfire(web service) + php客户端

    作者: 吴俊杰 web service这项技术暂不说它有多落伍,但是项目中用到了,没法逃避!    xml和json各有各的好处,但是JSON无疑是当今数据交互的主流了.客户soap服务器端用的是 j ...

  3. webservice之XFire的使用(java调用java)

    注意:xfire不支持java.util.List等集合,所以调用webservice传递的参数要为基本类型. 转自:http://zp9245.blog.163.com/blog/static/10 ...

  4. 使用XFire+Spring构建Web Service(一)——helloWorld篇

    转自:http://www.blogjava.net/amigoxie/archive/2007/09/26/148207.html原文出处:http://tech.it168.com/j/2007- ...

  5. 使用XFire+Spring构建Web Service

    XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用. 相 对于Axis来说,目 ...

  6. Xfire soapHeader的WebService权限控制forjava

    研究webservice有一段时间了,觉得用soapHeader来控制访问比较简单,特贴出代码以供大家分享 1.我们可以做一个很简单的ws测试,服务端的接口代码如下: package ws; //Ge ...

  7. xfire发布的Webservice中Spring注入为空的解决方案

    Spring框架使用中注入为空是一个比较头疼的问题,遇到Webservice和Spring框架配合时,这个问题更容易出现并很难发现问题的原因. 在做SSO系统中就遇到这样的问题,在Service的实现 ...

  8. android使用xfire webservice框架远程对sqlserver操作(包括增删改查)的实例!!已在真机上试验通过

    前两天,公司有一个利用android远程操作sqlserver的项目,对此我是毫无头绪的,但也挺感兴趣的,于是开始上网搜索方法,网上有挺多方法了,发现使用webservice的挺多的,不过我对这些技术 ...

  9. MyEclipse下一个XFire发展Webservice示例

    最近的研究JAVA发展Webservice.网络发现几个热门选择AXIS.XFire.CFX(XFire下一代),打开前几天对这篇文章比较三种选择,他们已经有了一些概念. 样本,以确定自己的实践 在開 ...

随机推荐

  1. 2015GitWebRTC编译实录17-audio_processing_neon编译问题解决

    编译audio_processing_neon lib时,发现只要涉及到WEBRTC_ARCH_ARM64就会出现问题,仔细回想了下,年初编译旧版本解决arm64支持问题时,好像也是要把这个注掉,但是 ...

  2. wireshark如何抓取别人电脑的数据包

    抓取别人的数据包有几种办法,第一种是你和别人共同使用的那个交换机有镜像端口的功能,这样你就可以把交换机上任意一个人的数据端口做镜像,然后你在镜像端口上插根网线连到你的网卡上,你就可以抓取别人的数据了: ...

  3. Scrum2.0 项目基本完成

  4. jquery 中的几个函数方法

    1.$.map(data,function(item,index){return XXX})处理每一个元素的函数.第一个参数是数组元素,第二个参数是该元素的索引值. 遍历data数组中的每个元素,并按 ...

  5. python Data type conversation

    >>> repr(111.5) '111.5' >>> repr(10) ' >>> int(") 11 >>> lo ...

  6. 解决php的“It is not safe to rely on the system’s timezone settings”问题

    PHP调试的时候出现了警告: It is not safe to rely on the system解决方法,其实就是时区设置不正确造成的,本文提供了3种方法来解决这个问题. 实 际上,从PHP 5 ...

  7. oracle11g安装和基本的使用-转载

    一.测试操作系统和硬件环境是否符合,我使用的是win2008企业版.下面的都是step by step看图就ok了,不再详细解释. 请留意下面的总的设置步骤:--------------------- ...

  8. SQL Server复制需要有实际的服务器名称才能连接到服务器

    服务器上安装的WIN2008 R2,然后没有在意机器名,安装了SQL2008 R2数据库之后,配置AD域的时候修改了机器名. 然后,开始配置数据库镜像同步的时候,先试了下数据库复制发布,结果提示“SQ ...

  9. UVA 10003 切木棍(普通DP)

    切木棍 紫书P278 算是简单的dp了吧,当然,这是看完别人题解后的想法,呵呵,我仍然是想了半小时,没思路,啥时候能自个整个dp啊!!→_→ dp的时候,输入数组必须从1开始,一定要注意状态的设计,和 ...

  10. linux 文档处理命令

    1. 将用户信息数据库文件和组信息数据纵向合并为一个文件/1.txt(覆盖) 2.将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加 3.将/1.txt./2.txt两个文件 ...