`
pengchua
  • 浏览: 153208 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

XFire根据WSDL生成客户端程序

阅读更多

XFire根据WSDL生成客户端程序<o:p></o:p>

<o:p> </o:p>

1.更新The XFire Eclipse plugin<o:p></o:p>

The XFire Eclipse plugin provides Eclipse support for XFire's WSDL->Code generator. It requires Eclipse 3.2 and Java 5.<o:p></o:p>

Installing the Plugin<o:p></o:p>

To install the Eclipse XFire plugin:<o:p></o:p>

go to the Help menu, select "Software Updates" and then select "Find and Install." <o:p></o:p>

Select "Search for new features to install" and click Next. <o:p></o:p>

Select "Create New Remote Site" and enter "XFire" as the name and http://dist.codehaus.org/xfire/update/ as the eclipse update site. <o:p></o:p>

Select OK. <o:p></o:p>

Select Finish <o:p></o:p>

<o:p> </o:p>

2.安装好后出现

<o:p></o:p>

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 388.5pt; HEIGHT: 362.25pt" type="#_x0000_t75"><v:imagedata o:title="ScreenShot045" src="file:///C:\DOCUME~1\pengch\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape><o:p></o:p>

<o:p> </o:p>

3.新建一个web project,将<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

生成的client程序放到源文件夹中,<o:p></o:p>

不要加myeclipse中的XFire库文件,因为客户端运行所导入的xfire<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.2.6</st1:chsdate>和服务器端的xfire1.2.5版本不一致,导致以上问题。<o:p></o:p>

直接下载xfire-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.2.6</st1:chsdate>,把其中的lib加到project就好了。<o:p></o:p>

<v:shape id="_x0000_i1026" style="WIDTH: 3in; HEIGHT: 221.25pt" type="#_x0000_t75"><v:imagedata o:title="ScreenShot046" src="file:///C:\DOCUME~1\pengch\LOCALS~1\Temp\msohtml1\01\clip_image003.png"></v:imagedata></v:shape><o:p></o:p>

4.最后写个测试程序就好。<o:p></o:p>

import com.kuaff.xfire.samples.MathServiceClient;<o:p></o:p>

import com.kuaff.xfire.samples.MathServicePortType;<o:p></o:p>

<o:p> </o:p>

public class Test {<o:p></o:p>

    public static void main(String[] args) {<o:p></o:p>

       MathServiceClient client = new MathServiceClient();<o:p></o:p>

       MathServicePortType MathService = client.getMathServiceHttpPort();<o:p></o:p>

       // 调用服务<o:p></o:p>

       long result = MathService.add(1, 2);<o:p></o:p>

       System.out.println("结果:" + result);<o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

<o:p> </o:p>

当有参数传递时,<o:p></o:p>

import test.HelloServiceClient;<o:p></o:p>

import test.HelloServicePortType;<o:p></o:p>

import test.ObjectFactory;<o:p></o:p>

import test.User;<o:p></o:p>

import javax.xml.namespace.QName;<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

public class TestAddress {<o:p></o:p>

    public static void main(String[] args) {<o:p></o:p>

       HelloServiceClient client = new HelloServiceClient();<o:p></o:p>

       HelloServicePortType HelloService = client.getHelloServiceHttpPort();<o:p></o:p>

       <o:p></o:p>

//     当要传递参数时,调用ObjectFactory中的公用方法,而不用自己还要<o:p></o:p>

       //new JAXBElement<String>(new<o:p></o:p>

//     QName("http://test", "username"),String.class,"dfdfs"); <o:p></o:p>

       //直接调用factory.createUserUsername("dfdfs")返回JAXBElement<String>类型<o:p></o:p>

       <o:p></o:p>

       ObjectFactory  factory=new ObjectFactory();<o:p></o:p>

       User user=factory.createUser();<o:p></o:p>

       user.setPassword(factory.createUserPassword("afdsafsd"));<o:p></o:p>

       user.setUsername(factory.createUserUsername("dfdfs"));<o:p></o:p>

       <o:p></o:p>

       // 调用服务<o:p></o:p>

       //JAXBElement转化为String,调用getValue();<o:p></o:p>

       System.out.println(HelloService.getUser(user).getUsername().getValue());<o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

 

分享到:
评论
1 楼 phoenix_sun 2008-03-03  
谢谢你的文章。

相关推荐

    xfire根据WSDL生成客户端代码

    使用XFire根据WSDL生成客户端代码,可以大大简化开发过程,因为它自动生成了与服务接口对应的Java类和代理。以下是具体步骤: 1. **安装和配置XFire**:首先,确保已经下载并安装了XFire库。你可以通过Maven或...

    xfire接口程序,包含xfire服务端和axis客户端

    它能自动生成客户端代理类,这些类可以直接调用远程服务的方法,就像调用本地方法一样,极大地降低了客户端开发的复杂性。 这个压缩包文件"xfireDemo"包含了实现xfire服务端和axis客户端所需的所有组件和jar包。...

    xfire webservice wsdl 文件中字段名称

    3. **自定义WSDL生成器**:如果你的场景比较特殊,可以创建自定义的WSDLGenerator实现,覆盖XFire默认的行为,以控制字段名称的生成。 4. **使用XML Schema(XSD)**:如果字段涉及的数据类型较复杂,可以在WSDL...

    使用xfire开发webservice的客户端需要的完整jar包

    Xfire支持SOAP、RESTful和XML/RPC等多种通信协议,使得开发者可以方便地构建服务端和客户端应用程序。 二、开发Web服务客户端 1. **导入jar包**:标题和描述中提到的"xfire_client_jar"是Xfire客户端开发所需的jar...

    webservice xfire 客户端调用实现

    通过XFire提供的工具,我们可以根据WSDL生成对应的客户端代理类。这些代理类封装了调用远程服务的方法,使得开发者可以像调用本地方法一样调用Web服务。 对象传递是XFire的一大特色,它使得复杂的业务对象能够在Web...

    用xfire的Eclipse_Plugin生成web服务的客户端.

    1. **自动生成Web服务客户端代码**:这是插件的核心功能之一,通过解析WSDL(Web Services Description Language)文件,插件能够自动为指定的Web服务生成客户端存根代码,极大地简化了客户端开发过程。 2. **简化...

    Xfire客户端调用webservice jar包

    3. 使用相应的库(如CXF或axis2)从WSDL生成客户端代理类。 4. 在Xfire客户端代码中实例化并调用生成的代理类,传递必要的参数以执行Web服务操作。 5. 处理返回的结果,将数据展示或用于客户端逻辑。 在实际开发中...

    调用xfire接口的客户端实现

    4. **生成客户端代理类**:利用XFire提供的工具或者IDE(如Eclipse)的插件,根据WSDL生成对应的客户端代理类。这些类包含了调用Web服务的方法。 5. **实例化客户端**:创建代理类的实例,这通常需要提供服务的URL...

    XFire创建WebService服务端和客户端

    1. **生成客户端代理**:XFire提供了一个工具(如`xfire-proxy-gen`)用于从服务端的WSDL(Web Service Definition Language)文件生成客户端代理类。运行这个工具,指定服务的WSDL URL,它会生成相应的Java客户端...

    xfire开发客户端报告文档[收集].pdf

    1. Myeclipse生成客户端代码:这种方法适用于大部分情况,只需提供Wsdl文档的URL,Myeclipse会自动生成客户端代码。但缺点在于,服务器URL变动或新增功能时,需重新生成客户端代码。 2. Spring与Xfire整合访问:...

    使用Xfire创建Web service和客户端使用的视频

    - 使用MyEclipse的Web服务消费者向导,根据WSDL生成客户端代理类。 - 在客户端代码中,实例化代理类并调用服务方法,实现与Web服务的交互。 8. **JSP整合** - 如果需要在Web前端展示服务结果,可以使用JSP(Java...

    java利用 xfire实现 webservices 服务端与客户端

    1. 生成客户端代理:XFire提供了一个工具(xfire-gen)可以自动生成客户端代理类。也可以手动创建,使用服务的WSDL地址和JAXWS的`javax.xml.ws.Service`类。 2. 使用代理调用服务:生成的客户端代理类可以直接调用...

    xfire搭建webservice服务端以及万能客户端所需jar包

    2. **生成客户端代理类**:使用XFire的代码生成工具,根据WSDL文件自动生成客户端代理类。这将简化客户端调用服务的过程。 3. **引入依赖**:客户端同样需要XFire的相关jar包,以便解析和处理Web服务的请求和响应。...

    Xfire的client.zip_Xfire客户端代码_webservice

    4. **SOAP(Simple Object Access Protocol)处理**:Web服务通常使用SOAP协议进行数据交换,客户端代码需要能够生成和解析SOAP消息。 5. **异常处理**:客户端代码需要有良好的错误处理机制,当与Web服务通信出现...

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

    - XFire提供了一个`ClientProxyFactoryBean`,用于根据WSDL生成一个Java客户端代理类。这个代理类可以像调用本地方法一样调用Web服务。 - 创建客户端代理后,实例化这个类并设置必要的连接参数(如服务URL),然后...

    xfire实现webService服务端与客户端使用说明

    1. **生成代理类**: 使用Xfire的工具或者手动编写,根据WSDL生成客户端的代理类。 2. **配置客户端**: 设置服务的URL,以及任何必要的认证信息。 3. **调用服务**: 通过代理类调用服务方法,执行业务逻辑。 **六、...

    webservice xfire

    - **生成客户端代理**: 使用XFire提供的工具或API,根据WSDL生成客户端代理类。 - **实例化代理**: 创建代理对象,设置服务URL等信息。 - **调用服务**: 通过代理对象调用服务方法,传递必要的参数。 **4. XFire与...

    Java使用XFire调用WebService接口

    在使用XFire时,通常需要WSDL文件来生成客户端代理类,这些类提供了调用Web服务的方法。 3. **XFire客户端API**:XFire提供了客户端API,可以自动生成客户端代码,这些代码包含了调用Web服务的必要方法。开发者只...

    使用Xfire构建JAVA的webService全过程(从服务端到客户端)

    1. **生成客户端代理类**:使用Xfire的工具(如`xfire-gen`)或在线工具,根据服务的WSDL(Web Service Description Language)文件生成客户端代理类。 2. **编写客户端代码**:实例化代理类并调用服务方法。 ```...

    java webservice AXIS,XFire , CXF

    7. 在客户端,通过CXF的客户端API或者WSDL生成的代理类来调用服务。 通过这种方式,CXF使得开发者能够快速、方便地创建和部署Web服务,同时也简化了客户端的调用过程。由于CXF的广泛支持和灵活性,它是现代Java ...

Global site tag (gtag.js) - Google Analytics