xfire,myeclipse5.1支持xfire支持的非常棒。这里讲解一个简单的例子,
1.首先建立一个web service工程:
点击finish之后,myeclipse自动帮你生成services.xml以及web应用目录结构,其中的services.xml是你导出服务的配置文件,注意在WEB-INF/web.xml文件中配置了xfire自己的servlet.
<!----><servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
2.接下来,现在编写要导出的pojo类,首先是接口:
<!---->package net.rubyeye.webservicedemo;
//Generated by MyEclipse
public interface IHelloWorldService {
public String sayHello(String name);
}
这个接口我们只提供一个方法:sayHello(),我们没有采用JSR181标注式的声明方式,还是采用xml配置文件。然后是实现类:
<!---->package net.rubyeye.webservicedemo;
//Generated by MyEclipse
public class HelloWorldServiceImpl implements IHelloWorldService {
public String sayHello(String name){
return "hello,"+name;
}
}
最后,配置下services.xml文件:
<!----><service>
<name>HelloWorldService</name>
<serviceClass>
net.rubyeye.webservicedemo.IHelloWorldService
</serviceClass>
<implementationClass>
net.rubyeye.webservicedemo.HelloWorldServiceImpl
</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>
我们的web服务名称叫做
HelloWorldService,接口是IHelloWorldService,实现类是HelloWorldServiceImpl。注意,其实我们这三个步骤可以一步完成,只要直接使用myeclipse的new web service向导即可
3.然后将此工程部署到tomcat上,通过http://localhost:8081/HelloWorld/services/HelloWorldService?wsdl可以看到生成的wsdl文件。注意,在部署之后,services会被拷贝到WEB-INF\classes\META-INF\xfire目录下,xfire会自动搜索此目录并加载配置文件。我们可以编写一个client来测试web服务,你也可以点击myeclipse上的Launch the Web Services来测试web服务
4.编写client代码:
<!---->package net.rubyeye.webservicedemo;
import java.net.MalformedURLException;
import java.util.ArrayList;
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;
public class HelloWorldClient {
public static void main(String args[]) {
Service srvcModel = new ObjectServiceFactory()
.create(IHelloWorldService.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());
String helloWorldURL = "http://localhost:8081/HelloWorld/services/HelloWorldService";
try {
IHelloWorldService srvc = (IHelloWorldService) factory.create(
srvcModel, helloWorldURL);
System.out.print(srvc.sayHello("dennis"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
执行,打印:hello,dennis
注意,你也可以使用MyEclipse的new webservice client向导自动生成client,同时生成供客户端调用的stub类等。
最后,我们再编写一个C#调用此web service的例子。
1.在vs.net中新建一个windows 应用程序项目,并添加一个button,和一个label
2.项目菜单——》添加web应用,输入我们要调用的web服务的wsdl文件的url,并点击前往。
3.添加引用之后,vs.net会自动帮你生成提供给客户端调用的stub等,这些文件在名为localhost的命名空间下。此空间下将有一个类,名为HelloWorldService。最后,在button1的onclick事件中添加代码:
<!---->using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace MyProject
{
public partial class Form1 : Form
{
localhost.HelloWorldService helloService = new localhost.HelloWorldService();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
label1.Text = helloService.sayHello("dennis");
}
}
}
我们new一个HelloWorldService ,并调用sayHello方法,将结果显示在label上
4.执行ctr+F5
分享到:
相关推荐
下面,我们将通过一个简单的例子,展示如何使用 XFire 调用 webService 接口。 服务端(为客户端提供 webservice 接口) 在服务端,我们需要创建一个 web 服务项目,使用 XFire 框架,并配置好 web.xml 文件。然后...
这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...
### Java使用XFire调用WebService接口 #### 一、引言 随着互联网技术的发展,不同系统之间的通信变得越来越重要。WebService作为一种重要的分布式计算技术,在跨平台、跨语言的服务交互方面发挥着重要作用。本文将...
4. **配置问题**:Xfire的配置文件(如xfire-config.xml)可能没有正确设置,导致参数传递失败。检查配置文件中的服务地址、命名空间、操作名等是否与Web服务实际配置一致。 5. **SOAP消息结构错误**:参数可能没有...
xfire调用webservice xfire是一款基于Java的开源WebService框架,它提供了一个简单、灵活和高效的方式来开发和部署WebService。xfire可以与多种类型的WebService结合使用,如SOAP、REST、XML-RPC等。xfire还提供了...
XFire--Webservice入门xfire
在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务的完整配置,并通过实际案例来学习这一过程。 首先,我们需要了解Spring和XFire的基础。Spring框架提供了一个名为Spring-WS的模块,专门用于构建Web...
标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收到传递的参数。这可能是由于多种原因引起的,如: 1. **XML序列化与反序列化问题**:...
xfire-aegis-1.2.2.jar xfire-annotations-1.2.2.jar xfire-core-1.2.2.jar xfire-java5-1.2.2.jar xfire-jsr181-api-1.0-M1.jar xfire-spring-1.2.2.jar xfire-xmlbeans-1.2.2.jar 支持将Web服务绑定到POJO、...
例如,使用`@WebService`注解可以在不编写XML配置的情况下声明服务。 ```java @WebService public class HelloWorldImpl implements HelloWorld { // ... } ``` 五、XFire与其他技术的集成 XFire可以很好地与...
- 服务提供者通过UDDI注册并发布服务,服务请求者通过查找UDDI和WSDL发现服务,最后通过WSDL和SOAP进行绑定和服务调用。 2. **Web Service相关概念**: - **SOAP**(Simple Object Access Protocol):是用于交换...
在本文中,我们将深入探讨如何使用Java XFire来调用本地及远程的WebService。 首先,让我们理解什么是Web服务。Web服务是一种基于网络的软件应用,允许不同系统间的交互。它们通常采用标准的协议(如SOAP)和数据...
对于短信接口,我们可以使用XFire的ClientProxyFactoryBean来创建一个客户端代理,然后通过这个代理调用服务。以下是一个使用XFire的示例: ```java import org.apache.cxf.frontend.ClientProxyFactoryBean; // ...
通过以上步骤,我们成功地使用XFire发布了WebService并进行了客户端调用。XFire的强大之处在于其易于使用和丰富的功能集,可以方便地处理复杂的Web服务交互。在实际项目中,还可以利用XFire进行更高级的配置,例如...
### Java使用XFire调用WebService接口 #### 一、引言 在现代软件开发中,服务端与客户端之间的通信变得尤为重要。WebService作为一种重要的技术手段,允许不同系统间进行跨平台的数据交换和服务调用。本文将详细...
总之,"Xfire客户端调用webservice jar包"涉及到的是Java技术栈中Web服务客户端的实现,包括使用特定的jar包来实现与服务器的通信,以及如何有效地调用和处理Web服务接口的细节。这个过程需要对Java编程、Web服务...
对于Java开发者来说,理解并运用XFire-WebService源码可以学习到Web服务的设计原则、SOAP或RESTful API的实现,以及Java网络编程的相关知识。同时,通过阅读和分析源码,还可以提升对JAX-WS、CXF等Web服务框架的理解...
通过与各种游戏的深度整合,Xfire能够在游戏运行时自动检测并显示好友的状态,允许玩家在游戏内实时聊天、组队,甚至查看好友的游戏进度。1.2.6版本作为一款经典版本,它稳定且功能齐全,是许多老玩家心中的经典。 ...