我没学习过axis系列,一开始学的就是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事件中添加代码:
HelloWorldService ,并调用sayHello方法,将结果显示在label上4.执行ctr+F5
<!---->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一个
分享到:
相关推荐
下面,我们将通过一个简单的例子,展示如何使用 XFire 调用 webService 接口。 服务端(为客户端提供 webservice 接口) 在服务端,我们需要创建一个 web 服务项目,使用 XFire 框架,并配置好 web.xml 文件。然后...
这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...
### Java使用XFire调用WebService接口 #### 一、引言 随着互联网技术的发展,不同系统之间的通信变得越来越重要。WebService作为一种重要的分布式计算技术,在跨平台、跨语言的服务交互方面发挥着重要作用。本文将...
标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...
标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收到传递的参数。这可能是由于多种原因引起的,如: 1. **XML序列化与反序列化问题**:...
在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务的完整配置,并通过实际案例来学习这一过程。 首先,我们需要了解Spring和XFire的基础。Spring框架提供了一个名为Spring-WS的模块,专门用于构建Web...
xfire调用webservice xfire是一款基于Java的开源WebService框架,它提供了一个简单、灵活和高效的方式来开发和部署WebService。xfire可以与多种类型的WebService结合使用,如SOAP、REST、XML-RPC等。xfire还提供了...
通过以上步骤,我们成功地使用XFire发布了WebService并进行了客户端调用。XFire的强大之处在于其易于使用和丰富的功能集,可以方便地处理复杂的Web服务交互。在实际项目中,还可以利用XFire进行更高级的配置,例如...
对于短信接口,我们可以使用XFire的ClientProxyFactoryBean来创建一个客户端代理,然后通过这个代理调用服务。以下是一个使用XFire的示例: ```java import org.apache.cxf.frontend.ClientProxyFactoryBean; // ...
例如,使用`@WebService`注解可以在不编写XML配置的情况下声明服务。 ```java @WebService public class HelloWorldImpl implements HelloWorld { // ... } ``` 五、XFire与其他技术的集成 XFire可以很好地与...
这篇博客文章“xfire发布webservice服务”可能详细介绍了如何使用XFire来构建并发布一个Web服务。 【描述】:“NULL” 虽然描述为空,但我们可以推测文章可能包含了从安装XFire到编写服务接口,再到部署和测试Web...
在本文中,我们将深入探讨如何使用Java XFire来调用本地及远程的WebService。 首先,让我们理解什么是Web服务。Web服务是一种基于网络的软件应用,允许不同系统间的交互。它们通常采用标准的协议(如SOAP)和数据...
- 服务提供者通过UDDI注册并发布服务,服务请求者通过查找UDDI和WSDL发现服务,最后通过WSDL和SOAP进行绑定和服务调用。 2. **Web Service相关概念**: - **SOAP**(Simple Object Access Protocol):是用于交换...
【xfire与Web服务简介】 Xfire是一款开源的Java库,用于构建Web服务客户端和服务端。它基于SOAP协议,提供了一...通过深入研究和实践这个例子,你可以更好地理解Web服务的工作原理以及如何使用Xfire来创建和部署它们。
接着,编写一个测试类,该类通过构造一个`Client`对象来连接到WebService,并调用其提供的方法。在本例中,测试类名为`A`,它通过调用`getMes`方法并向其传递一个字符串参数`"hhhhh"`,来验证服务的响应。 具体来说...
Java 使用 XFire 调用 WebService 接口是一个常见的技术场景,特别是在集成不同系统或者构建分布式服务时。XFire 是一个 Java 框架,它允许开发者快速、容易地创建和消费 Web 服务。本篇文章将详细讲解如何在 Java ...
总结来说,使用Xfire开发Web服务客户端涉及导入必要的jar包、配置服务信息、生成代理类以及编写调用代码。虽然Xfire已不再更新,但其简单易用的特点使其在某些场景下依然具有价值。对于新项目,推荐使用更现代的框架...
总之,"Xfire客户端调用webservice jar包"涉及到的是Java技术栈中Web服务客户端的实现,包括使用特定的jar包来实现与服务器的通信,以及如何有效地调用和处理Web服务接口的细节。这个过程需要对Java编程、Web服务...
【标题】"用XFire开发WebService+Spring注解"涉及的主要知识点是利用XFire框架创建Web服务,并结合Spring框架的注解进行服务的管理和集成。XFire是一个强大的Java Web Service实现,它允许开发者轻松地创建和消费...