webservice教程xfire学习手册pdf(如何在eclipse中创建xfire工程)

本文目录
- 如何在eclipse中创建xfire工程
- 如何创建一个webservice
- 如何用webservice实现用户登录
- java invoke 以及 webservice详解,求助
- xfire webservice如果有多个服务该如何写配置文件
- 求助,Xfire-webservice添加SoapAction的问题
- 用xfire开发webservice(非spring)
如何在eclipse中创建xfire工程
XFire
***隐藏网址***
创建过程示例
下面我们就来使用Java构建一个WebService并且构建一个客户端来测试访问它。
首先请确保你的JDK和Tomcat在Eclipse环境中是可用的,配置方法不做赘述。并且你了解一些java编程技术和tomcat的发布常识。
版本信息:MyEclipse6.0.0M1;Tomcat6.0;JDK1.5;Xfire1.2
1、打开MyEclipse新建一个WebService Project,为你的项目命名,我选择了Java EE5.0,项目在你的WorkSpace目录下。下一步:看到了这个界面
在这里Eclipse为你创建了webService的配置文件services.xml(主意文件名是有“s”的),并进行了Xfire的Servlet基本配置告诉项目你使用了Xfire改信息将体现在项目的web.xml文件中。继续下一步,加载Xfire相关的jar包,你看到了
在这个项目里我勾选了Xfire1.2 Core Libraries;HTTP Client Libraries;XML Beans Libraries。主要是确保引入了这些包包:
? activation-1.0.2.jar
? commons-codec-1.3.jar
***隐藏网址***
? commons-logging-1.0.4.jar
? jaxen-1.1-beta-8.jar
? jdom-1.0.jar
? log4j-1.2.x.jar
? mail-1.3.3_01.jar
? spring-1.2.x.jar
? stax-api-1.0.jar
? wsdl4j-1.5.2.jar
? wstx-asl-2.9.jar
? xbean-2.1.0.jar
? xbean-spring-2.2.jar
? xfire-all-1.0.jar
? XmlSchema-1.0.jar
如果你好奇其他的包包是做什么用的就有待于我们在今后的学习中继续探究了~点击“Finish”完成了项目创建。
如何创建一个webservice
服务器端的操作:
1. 创建一个WebService项目。(不需要是Java EE 5.0)
2. 创建包与接口以及实现类。
3. 加上WebService的包
4. 配置文件
***隐藏网址***
至此,服务器端已完成!以下做的是客户端的调用。
1. 创建客户端项目
2.将服务器端的包复制到客户端(注意,实现类要去掉)
3. 加入WebService包
4. 在Next时, 注意将红框中的勾打上。
6. 在包中创建一个类测试调用外部的WebService是否成功!(注意取地址时应加上webservice的名称)
package com.yenange.service;
import java.net.MalformedURLException;
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 TestWS {
public static void main(String args) {
//1.取得WebService的路径
***隐藏网址***
//2.创建服务
Service service=new ObjectServiceFactory().create(IMyWebService.class);
//3.创建服务代理
XFireProxyFactory factory=new XFireProxyFactory(XFireFactory.newInstance().getXFire());
//4.调用外部的WebService, 建立对象. 再测试其方法
try {
IMyWebService obj=(IMyWebService)factory.create(service,url);
System.out.println(obj.HelloWorld("leaf"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
至此,java的WebService调用完成!
如何用webservice实现用户登录
这里教你利用xfire插件做服务端webservice
1.接口
Java代码
package org.BLLInterface;
public interface LoginService {
boolean LoginMethod(String username,String userpwd);
}
2.实现类
package org.Service;
Java代码
import org.BLLInterface.LoginService;
public class Login implements LoginService{
public Login(){}
public boolean LoginMethod(String username,String userpwd)
{
String USERNAME="jgx";
String USERPWD = "jgx";
if(username.equals(USERNAME)&&userpwd.equals(USERPWD))
{
return true;
}
return false;
}
}
3.servies.xml
Java代码
《?xml version="1.0" encoding="UTF-8"?》
***隐藏网址***
《service》
《name》LoginService《/name》
***隐藏网址***
《serviceClass》org.BLLInterface.LoginService《/serviceClass》
《implementationClass》org.Service.Login《/implementationClass》
《/service》
《/beans》
4.部署到tomcat底下
***隐藏网址***
java invoke 以及 webservice详解,求助
1、invoke()一般是java反射里的方法。
1、给外界提供的都是接口
定义一个接口,然后给这个接口定义一个实现类。
2、在src目录下新建一个META-INF文件夹,在这个文件夹下新建一个xfire文件夹,在这个文件夹下再新建一个service.xml文件。
文件内容配置例子:
《?xml version="1.0" encoding="UTF-8"?》
***隐藏网址***
《service》
《name》CalculatorService《/name》《!--接口的名字--》
《serviceClass》com.hhaip.service.CalculatorService《/serviceClass》《!--定义的那个接口--》
《implementationClass》
com.hhaip.service.impl.CalculatorServiceImpl 《!--接口的实现--》
《/implementationClass》
《/service》
《/beans》
3、在web.xml中将服务公布出去
《!-- 将服务公布出去 --》
《servlet》
《servlet-name》XFireServlet《/servlet-name》
《display-name》XFire Servlet《/display-name》
《servlet-class》
***隐藏网址***
《/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》
---------------------------------------------以上就是服务端信息-------------------------------------------------
---------------------------------------------以下就是客户端信息-------------------------------------------------
1、客户端使用Ant自动建站工具帮我生成好访问Web接口所需要的信息。
2、Ant自动生成好客户端代码后,只需要新建一个测试类测试。
Ant配置例子:
build.xml
《?xml version="1.0" encoding="UTF-8"?》
《project name="WebService" basedir="." default="webservice"》
《property file="build.properties" /》
《path id="project-classpath"》
《fileset dir="${lib.dir}"》
《include name="**/*.jar" /》
《/fileset》
《/path》
《target name="webservice"》
《taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask"
classpathref="project-classpath" /》
《wsgen outputDirectory="${scr.dir}" wsdl="${wsdl.dir}" package="com.hhaip.client" overwrite="true"/》
《/target》
《/project》
build.properties
scr.dir=${basedir}/src
lib.dir=E:/jar/xfire-1.2.6/lib
***隐藏网址***
--》 wsdl.dir这个路径配置最重要。
测试类代码:
public class TestService {
public static void main(String args) {
CalculatorServiceClient client = new CalculatorServiceClient();
//CalculatorServiceClient是Ant生成的客户端代码
CalculatorServicePortType portType = client.getCalculatorServiceHttpPort();
//获取接口
int addResult = portType.add(1, 3);
System.out.println(addResult);
}
xfire webservice如果有多个服务该如何写配置文件
CXF+Spring 是这么配的,你参考
《jaxws:server id="toolService"
serviceClass="com.toolServer.service.ToolService"
address="toolService"》
《jaxws:serviceBean》
《ref bean="toolServiceBean" /》
《/jaxws:serviceBean》
《jaxws:inInterceptors》
《ref bean="inLoggingInterceptor" /》
《/jaxws:inInterceptors》
《jaxws:outInterceptors》
《ref bean="outLoggingInterceptor" /》
《/jaxws:outInterceptors》
《/jaxws:server》
《jaxws:server id="userService"
serviceClass="com.toolServer.service.UserService"
address="/userService"》
《jaxws:serviceBean》
《ref bean="userServiceBean" /》
《/jaxws:serviceBean》
《jaxws:inInterceptors》
《ref bean="inLoggingInterceptor" /》
《/jaxws:inInterceptors》
《jaxws:outInterceptors》
《ref bean="outLoggingInterceptor" /》
《/jaxws:outInterceptors》
《/jaxws:server》
求助,Xfire-webservice添加SoapAction的问题
public String getRemoteInfo(String phoneSec) {
// 设置是否调用的是dotNet开发的WebService
// 命名空间
09-21 16:16:00.610: W/System.err(4839): at android.app.ActivityThread.access$1500(ActivityThread.java:122)
再补充点,错误是在三星的平板上运行的,不带拨号功能
// 设置需调用WebService接口需要传入的两个参数mobileCode、userId
String nameSpace = "url/";
// 调用的方法名称
String methodName = "getMobileCodeInfo";
// EndPoint
String endPoint = "url/WebServices/MobileCodeWS.asmx";
// SOAP Action
String soapAction = "url/getMobileCodeInfo";
// 指定WebService的命名空间和调用的方法名
SoapObject rpc = new SoapObject(nameSpace, methodName);
09-21 16:16:00.600: W/System.err(4839): at java.net.InetAddress.getAllByName(InetAddress.java:249)
rpc.addProperty("mobileCode", phoneSec);
rpc.addProperty("userId", "");
// 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.bodyOut = rpc;
envelope.dotNet = true;
// 等价于envelope.bodyOut = rpc;
envelope.setOutputSoapObject(rpc);
// 调用WebService
transport.call(soapAction, envelope);
} catch (Exception e) {
e.printStackTrace();
}
// 获取返回的数据
SoapObject object = (SoapObject) envelope.bodyIn;
// 获取返回的结果
return object.getProperty(0).toString();
try {
// 将WebService返回的结果显示在TextView中
}
用xfire开发webservice(非spring)
1.接口 import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; /** * * @author flytiger */ @WebService(name = "OrderService", targetNamespace = "urn:OrderService") @SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) public interface IOrderService { @WebMethod(operationName = "updateOrders", action = "#updateOrders") public String updateOrders( @WebParam(name = "sUserKey", targetNamespace = "urn:OrderService") long sUserKey, @WebParam(name = "xmlEncrypt", targetNamespace = "urn:OrderService") String xmlEncrypt) throws Exception; } 实现 @WebService(serviceName = "OrderService", targetNamespace = "urn:OrderService", endpointInterface = "net.booksfly.ws.order.IOrderService") public class OrderServiceImpl implements IOrderService { public String updateOrders(long sUserKey, String xmlEncrypt)throws Exception { //...里面用struts2 hibernates实现功能。 } } 在 WEB-INF/META-INF/xfire/services.xml中配置xfire webservice 《beans xmlns=""》 《service》 《name》OrderService《/name》 《namespace》urn:OrderService《/namespace》 《serviceClass》包名..OrderServiceImpl《/serviceClass》 《serviceFactory》 org.codehaus.xfire.jaxb2.JaxbServiceFactory 《/serviceFactory》 《style》document《/style》 《use》literal《/use》 《scope》application《/scope》 《/service》蓝屏

更多文章:
跷二郎腿太低好吗?想要通过贴墙站改正二郎腿影响的话,有哪些要点需要注意
2026年10月11日 05:10
易语言点击js按钮(易语言网页填表怎样点击链接为“javascript:void(0)“的按钮)
2026年10月11日 03:00
compare with造句(用compared with和compared to造句)
2026年10月10日 23:30
tensorflow与keras对应版本(为什么tensorflow2.8没有keras)
2026年10月10日 22:10
maven仓库jar网站(如何在maven仓库中添加jar包)
2026年10月10日 19:50







