1. Client开发者拥有Web服务端的class
即:能拿到服务端的接口Class和Entity类及aegis 配置文件
//传统POJO模式
Service srvcModel = new ObjectServiceFactory().create(Hello.class);
XFireProxyFactory factory = new XFireProxyFactory(
XFireFactory.newInstance().getXFire());
String helloWorldURL = " http://localhost:8080/webservice/services/Hello ";
Hello srvc = ( Hello) factory.create(srvcModel,
helloWorldURL);
System.out.println(srvc.sayHello("Robin"));
// JSR181模式,注意这里Server端开发组需要向Client提供实现类,而不止于//接口,有点危险
Service srvcModel = new AnnotationServiceFactory()
.create(HelloImpl.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());
String helloWorldURL = "http://localhost:8080/webservice/services/Hello";
Hello hello = (Hello) factory.create(srvcModel,helloWorldURL);
System.out.println(hello.sayHello("caohuili:"));
2 动态模式
动态模式不需要服务端的class,不过性能和复杂对象映射等估计做得不会太好。
Client client = new Client(new URL(
"http://localhost:8080/webservice/services/Hello?wsdl"));
Object[] results = client
.invoke("sayHello", new Object[] { "Cao," });
System.out.println((String) results[0]);
3 根据WSDL生成Client Stub
//简单参数的
HelloClient client=new HelloClient();
HelloPortType port =client.getHelloHttpPort();
System.out.println(port.sayHello("hi!"));
//参数复杂的
MemberServiceClient client = new MemberServiceClient();
MemberService memberService = client.getMemberServiceHttpPort();
User user = new User();
/*JAXBElement<String> name = new JAXBElement<String>(new QName(
"http://memberService", "username"), String.class, "smallnest");
JAXBElement<String> password = new JAXBElement<String>(new QName(
"http://memberService", "password"), String.class, "123456");*/
ObjectFactory objFac=new ObjectFactory();
JAXBElement<String> name = objFac.createUserUsername("smallnest");
JAXBElement<String> password = objFac.createUserPassword("123456");
user.setUsername(name);
user.setPassword(password);
Member oneMember = new Member();
JAXBElement<String> memeberName = new JAXBElement<String>(new QName(
"http://memberService", "name"), String.class, "迈克");
JAXBElement<String> email = new JAXBElement<String>(new QName(
"http://memberService", "email"), String.class,
"micro@micro.com");
oneMember.setName(memeberName);
oneMember.setEmail(email);
oneMember.setRank(6);
// 调用方法
memberService.addMember(oneMember, user);
分享到:
相关推荐
标题中的“xfire+spring+webservice+client”是一个关于集成XFire、Spring框架和Web服务客户端的专题,这涉及到Java开发中的一项重要技术——Web服务的消费与提供。在这个主题下,我们将深入探讨以下几个核心知识点...
在IT行业中,Web服务是一种广泛使用的通信协议,它允许不同应用程序之间进行数据交换。Xfire是一款曾经流行的开源Java框架,用于构建和消费Web服务。在本文中,我们将深入探讨Xfire调用Web服务时遇到的参数传递问题...
### XFire在MyEclipse中配置详解 #### XFire与MyEclipse的融合:搭建高效Web Service开发环境 XFire是一款高性能的Java SOAP框架,以其轻量级、易用性及对多种标准的支持(如JAXB、XMLBeans、Java5和JAX-WS等)而...
随着互联网技术的发展,Web Services作为一种重要的软件架构模式,在分布式系统中的应用越来越广泛。它允许不同平台、语言的应用程序通过标准协议(如HTTP)进行通信。在众多开发工具中,MyEclipse是一款非常流行的...
2. 在src目录下创建客户端类(如:HelloWebService.java),导入必要的库,如org.codehaus.xfire.client.Client。 3. 编写客户端代码,创建Client对象,调用远程Web服务方法。 客户端调用示例: ```java package ...
XFire通过服务代理模式来调用Web服务。开发者只需要定义一个与服务接口匹配的Java接口,XFire会自动生成代理类,使得开发者可以像调用本地方法一样调用远程Web服务。这种方式降低了Web服务调用的复杂性,提高了开发...
在使用xfire server时,首先要安装并配置好xfire client,确保它能正常连接到服务器。接着,你需要下载并部署xfire server软件,这个过程可能涉及环境配置、数据库连接设置、服务器端口开放等步骤。"InterfaceServer...
xfire是一个基于Java的开源Web服务框架,它提供了一种简单的方式来实现SOAP(Simple Object Access Protocol)服务。xfire 1.2.6是该框架的一个稳定版本,它支持WS-I Basic Profile 1.1,这意味着它可以与其他遵循...
创建一个新的Java项目,如`WebServiceClient`,并将MyEclipse的库添加到项目的构建路径中。这样,客户端就可以调用之前发布的Web服务了。 总结来说,通过MyEclipse和Xfire,我们可以方便地实现Web服务的发布和测试...
4. 创建客户端代理:利用XFire的Client类或代码生成工具创建客户端代码,调用远程服务。 在"WebService_XFire.wps"这个文件中,可能包含了关于使用XFire开发和部署WebService的详细步骤、示例代码以及可能遇到的...
在MyEclipse中,可以通过“Web Service Client”向导来生成客户端代码。生成的客户端代码能够直接调用Web服务的方法,如`example`方法,从而完成远程服务的调用。在实际应用中,客户端可以分布在不同的系统或平台上...
1. 创建一个新的Java Project,命名为“WebServiceClient”。 2. 将MyEclipse的库引入到这个项目中,以便可以调用Web服务。 3. 编写Java代码,通过生成的客户端代理类调用Web服务。这通常涉及到创建服务代理对象,...
- **子元素 `<url-pattern>`**:定义了Servlet的URL模式,这里的两个示例分别为`/services/*`和`/servlet/XFireServlet/*`。 #### 四、客户端调用代码详解 客户端代码用于调用XFire提供的Web服务。以下是一个简单的...
- **灵活性**:支持多种部署模式和服务实现方式。 ##### 15.1.3 MyEclipse的WebService工具简介 MyEclipse是一款流行的Java集成开发环境(IDE),提供了丰富的工具和支持来简化Web服务的开发流程。在MyEclipse中...
三、创建Web服务客户端(Client): 1. 生成服务代理:CXF提供了`WSDLFirst Approach`,可以从WSDL文档生成Java客户端代码。或者,可以手动创建客户端代码,使用`JaxWsProxyFactoryBean`来创建服务代理。 ```java ...
**SOA(Service-Oriented Architecture,面向服务架构)是一种软件设计模式,它提倡将功能作为独立的服务,这些服务可以通过网络进行交互,实现模块化、松耦合的系统。在本压缩包“SOA.rar”中,我们主要探讨的是...
Web服务(Web Services)是一种基于网络的、松散耦合的软件组件交互方式,它允许不同的应用程序之间交换数据。...尽管XFire已经过时,但它提供的概念和模式对于理解现代Web服务框架如JAX-WS和Spring-WS至关重要。
在本例中,提及的"L_xfireclient"和"L_xfire"可能指的是XFire,这是一个早期的Java Web服务框架,它提供了一个命令行工具来管理和部署Web服务。用户需要将server-config.wsdd文件放在正确的位置,并使用XFire的工具...
在软件开发过程中,WebService 是一种非常重要的技术,它允许不同的系统和应用程序之间进行交互和集成。本文将详细介绍如何使用 MyEclipse 开发一个简单的 WebService,包括服务端和客户端的开发步骤。 一、环境...
2. [XFire的Client开发三种模式详解](http://blog.csdn.net/jadyer/article/details/6127517) #### 基于AXIS2的SOAP服务 Axis2是Apache软件基金会下的一个开源项目,提供了一种高效且灵活的方式来创建和部署SOAP ...