`
fenger_chui
  • 浏览: 104192 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WebService基本编程—xfire

阅读更多

最近研究了一下WebService的用法,使用的是xfire+tomcat以及xfire+Weblogic9.2.借助于工具MyEclipse建立一个WebService是非常容易的事情,可以通过MyEclipse的File ——》New ——》Web Service Project的步骤建立一个WebService工程,如果使用Xfire的话,注意选择xfire。这样只是建立了一个WebService工程,要想生成一个服务端的框架可以通过File——》New——》Other——》Web Services ——》Web Servie,在New Web Service页面上选择已经创建好的Web Service Project.在Strategy选项选择Create Web Service from java class ,并勾选上Create new java bean,完成后在名为I**(**为你的WebService名称)中定义WebService接口,在**Impl文件中实现你的WebService逻辑。然后使用tomcat发布就可以了。

在使用Weblogic作为服务器发布的时候,和上面步骤一样,只是进行发布的时候配置一下Weblogic就行。在这个过程中可能遇到以下问题:

一,在myeclipse启动不起来Weblogic,解决:进入Weblogic目录,手动启动就行。

二,weblogic启动可能报错:

<BEA-160197>

 

<Unable to load descriptor C:\bea\user_projects\domains\base_domain\.\autodeploy\demo/WEB-INF/web.xml of module webProject. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed

 

 

 

at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor

 

Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=web-app@http://java.sun.com/xml/ns/javaee

 

at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType

解决方法:

我把原来的:

 

<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">

 

换成:

 

<web-app xmlns:j2ee="http://java.sun.com/xml/ns/j2ee">即可。原来是weblogic92不支持用eclipse自动生成2.5版本的web.xml。

 

再说说客户端编程,客户端也可以通过myeclipse自动生成,只要指定wsdl文件或者服务端的wsdl的URL。不但可以传递简单类型,也可以传递复杂类型。以下是客户端调用的代码示例:

public static void main(String[] args) {

MyWebServiceClient client = new MyWebServiceClient();

//create a default service endpoint
MyWebServicePortType service = client.getMyWebServiceHttpPort();

//TODO: Add custom client code here
//
//service.yourServiceOperationHere();
//调用operaiton方法
int re = service.operaiton(1900, 66, "*");
System.out.println("计算结果为:"+re);
//调用modified(User U)方法
ArrayOfUser a = new ArrayOfUser();
User u = new User();
//注意通过JAXB传递字符串型,因为绑定了JAXB,命名空间http://service.web一定要写对
JAXBElement<String> name = new JAXBElement<String>(new QName(
"http://service.web", "name"), String.class, "Mr.li");
u.setName(name);
u.setNumber(007);
//无法修改服务端设定的name和number
service.modified(u);
List<User> l = new ArrayList<User>();
a.user = l;
a.user.add(u);
//调用addUser(List<User> l)方法
ArrayOfUser li = (ArrayOfUser)service.addUser(a);

for(int i = 0; i <li.user.size();i++)
{
System.out.println(li.user.get(i).getName().getValue());
System.out.println(li.user.get(i).getNumber());
}
System.out.println("test client completed");
System.exit(0);
}

 

这样就完成了Webservice的建立和调用过程。

 

PS:WebService以我目前的理解好像不能处理传出参数,也就是我传入一个参数USer u,在服务端改变了User U的值(比如是名字和编号),客户端调用后,不能获得服务端修改的值。也就是服务端对客户端的响应内容都是通过返回值来的。如果哪位有不同见解,可以联系我,我们一起探讨。

1
4
分享到:
评论

相关推荐

    xfire-HelloWorld.rar_webservice_webservice FPGA _xfire hellowor

    标题中的“xfire-HelloWorld.rar_webservice_webservice FPGA_xfire hellowor”提到了几个关键元素:xfire、webservice、FPGA以及一个简单的示例应用“HelloWorld”。这表明我们将探讨的是如何使用xfire这个框架来...

    WebService教程-xfire学习手册【技术文档】

    WebService的核心特性是其跨平台性,它允许不同操作系统和编程语言的应用程序相互通信。 2. **SOAP(Simple Object Access Protocol)**:SOAP是传输数据的一种协议,它基于XML格式,用于在Web上交换结构化和类型化...

    spring+xfire( 编写webservice完整配置+案例)

    Spring作为一个强大的框架,提供了全面的依赖注入和面向切面编程能力,而XFire是早先的Web服务实现,它允许开发者轻松地将Java接口转换为SOAP Web服务。在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务...

    webService-xfire入门doc

    总的来说,学习和使用XFire,你需要理解Web服务的核心概念,熟悉Java编程,以及掌握XFire的API和配置。随着对XFire的深入应用,你可以创建高效、可扩展的Web服务解决方案,实现跨平台的系统集成。尽管现在XFire已被...

    spring webService hibernate结合xfire

    标题 "spring webService hibernate结合xfire" 描述了一个整合技术的应用,即Spring、Web服务(WebService)和Hibernate框架与Xfire的结合。在这个项目中,开发者可能想要创建一个基于Java的Web服务,该服务能够利用...

    xfire实现webservice实例

    XFire通过简化编程模型和强大的注解支持,使得开发者能够快速地将Java接口转换为符合SOAP标准的Web服务。 二、Web服务基础 Web服务基于WS-I(Web Services Interoperability Organization)的标准,如SOAP(Simple ...

    WebService教程-xfire学习手册

    7. **整合Spring框架**:介绍如何利用Spring框架的依赖注入和AOP(面向切面编程)特性,与XFire结合以提高Web服务的可维护性和灵活性。 8. **测试和部署**:讲解如何测试Web服务,包括单元测试和集成测试,以及如何...

    ssh下做webservice需要的xfire所有jar

    在SSH框架下实现Web服务(WebService),我们可以使用XFire库,它是一个轻量级、高性能的Web服务实现,支持SOAP和XML-RPC协议。XFire通过简化配置和API使用,使得在Java应用中创建和消费Web服务变得更加容易。 首先...

    WebService Axis和XFire(CXF)的开发流程

    1. **Axis**:Axis是Apache软件基金会开发的开源SOAP WebService框架,它支持多种编程语言,如Java、Python等。Axis以其良好的可扩展性和广泛的支持而受到青睐。然而,一个显著的缺点是它不直接支持Spring框架,这...

    xfire调用webservice

    xfire还提供了一个基于annotation的编程模型,使得开发者可以使用简单的Java代码来开发WebService。 xfire的主要特点包括: 1. 简单易用:xfire提供了一个简单、易于使用的API,开发者可以快速地开发和部署...

    用XFire开发WebService+Spring注解

    【描述】"用XFire开发WebService"意味着我们需要了解Web服务的基本概念,如WSDL(Web Service Description Language)和SOAP(Simple Object Access Protocol)。XFire提供了一个轻量级、高效的环境来构建这些服务,...

    整理xfire和spring的集成 web service 面向服务编程 java

    XFire是一个基于Java的SOAP Web Service框架,而Spring是一个广泛应用的轻量级框架,它提供了依赖注入、面向切面编程等特性。将两者集成可以方便地构建和消费Web Service,实现服务的发布和调用。下面将详细介绍如何...

    基于 xfire 的 webservice 项目

    总的来说,这个基于XFire的WebService项目是一个很好的学习资源,它涵盖了Web服务的基本概念、XFire的使用方法,以及如何构建和测试Web服务。对于想要深入理解Java Web服务开发的初学者或者开发者来说,这是一个值得...

    Xfire调用webservice无法传递参数问题

    标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...

    webservice Xfire .jar包

    5. **多线程编程**:如果.jar包包含服务器端组件,多线程编程可能用于处理并发请求,确保高效的服务性能。 6. **Java Servlet和JavaServer Pages(JSP)**:如果Xfire提供了基于Java的Web接口,那么.jar文件可能...

    WebService之XFire和Jax实现身份验证

    XFire和JAX(Java API for XML)都是在Java环境中实现WebService的重要工具,它们分别提供了不同的方法来处理身份验证,确保数据安全传输。 XFire是早期的一个开源项目,它是一个快速、灵活的Web服务框架,支持SOAP...

    Webservice使用xfire发布及客户端调用

    - 使用XFire,你可以通过添加特定的注解(如@WebService)来标记你的类和方法,这样它们就会被识别为Web服务的操作。 - 接下来,你需要创建一个XFire实例,并配置服务端点地址。你可以通过XML配置文件或程序化方式...

    WebService框架XFire

    WebService框架XFire是一款用于构建和消费Web服务的开源Java框架,它在早期的Web服务开发中扮演了重要角色。XFire是由Avalon项目发展而来,后来成为了CodeHaus组织的一部分,并最终演变为Apache CXF项目。理解XFire...

    webservice (xfire,axis2)

    Web服务(WebService)是一种基于网络的、分布式的模块化组件,允许不同的应用程序在不同的操作系统和编程语言之间进行通信。在给定的标题“webservice (xfire,axis2)”中,我们关注的是两个知名的Java WebService...

    webservice数据传输方式Xfire

    Xfire采用了Java编程语言,并且充分利用了Java的XML处理库,如JAXB(Java Architecture for XML Binding)和JDOM,以提高Web服务的执行效率。 在描述中提到了Xfire与Axis的性能对比:“运行速度比Axis要快一到两倍...

Global site tag (gtag.js) - Google Analytics