`
阅读更多

public interface HelloWorld {
 String sayHelloWorld(String name);
}

 

 

import java.net.MalformedURLException;

import org.codehaus.xfire.XFire;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class WebServiceClientTest {
 HelloWorld helloWorld = null;

    public static void main(String[] args) {
       WebServiceClientTest test = new WebServiceClientTest();
       test.testClient();
    }

    public void testClient() {
       ApplicationContext ctx = new ClassPathXmlApplicationContext(
              "client.xml");
       helloWorld = (HelloWorld) ctx.getBean("testWebService");
       System.out.println(helloWorld.sayHelloWorld("阿蜜果"));
    }
   
 public String callWebService()
         throws MalformedURLException, Exception {
         Service serviceModel = new ObjectServiceFactory().create(HelloWorld.class);       
         XFire xfire = XFireFactory.newInstance().getXFire();
         XFireProxyFactory factory = new XFireProxyFactory(xfire);     
    
         String serviceUrl = "http://localhost:8080/WSTest/HelloWorldService.ws";
        
         HelloWorld client = null;
         try {
             client = (HelloWorld) factory.create(serviceModel, serviceUrl);
         } catch (MalformedURLException e) {
         }   
               
         //Invoke the service
         String serviceResponse = "";
         try {
             serviceResponse = client.sayHelloWorld("小明");
        } catch (Exception e){
             serviceResponse = e.toString();
         }       
        return serviceResponse;
     }
 public static void main2(String args[])
 {
  WebServiceClientTest client = new WebServiceClientTest();
  try {
   String result=client.callWebService();
   System.out.println("调用webservice后的结果为:"+result);
  } catch (MalformedURLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <bean id="testWebService" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean">
       <property name="serviceClass">         
     <value>HelloWorld</value>      
       </property>     
        <property name="wsdlDocumentUrl">        
  <value>http://localhost:8080/WSTest/HelloWorldService.ws?wsdl</value>      
        </property>     
     </bean>
</beans>

 

服务端

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  
   <display-name>cmms</display-name>

 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:/applicationContext*.xml,/WEB-INF/xfire-servlet.xml</param-value>
 </context-param>
    <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <!-- Spring 刷新Introspector防止内存泄露 -->
 <listener>
  <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
 </listener>
 
 <servlet>  
       <servlet-name>xfire</servlet-name>  
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet> 
    <servlet-mapping>
       <servlet-name>xfire</servlet-name>
       <url-pattern>*.ws</url-pattern>
    </servlet-mapping>
   
 <servlet>
       <!-- 配合Spring容器中XFire一起工作的Servlet-->
       <servlet-name>xfireServlet</servlet-name>
       <servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
    </servlet>
    <servlet-mapping>
       <servlet-name>xfireServlet</servlet-name>
       <!-- 在这个URI下开放Web Service服务 -->
       <url-pattern>/service/*</url-pattern>
    </servlet-mapping>
    <!-- end XFire 配置 -->

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

 


 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <!-- 引入XFire预配置信息 -->
    <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
    <!-- 定义访问的url  -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
       <property name="urlMap">            
           <map>                
              <entry key="/HelloWorldService.ws">                 
                  <ref bean="HelloWorldService" />                
              </entry>            
           </map>        
       </property>    
    </bean>    

    <!-- 使用XFire导出器 -->
    <bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
       <!-- 引用xfire.xml中定义的工厂 -->
       <property name="serviceFactory" ref="xfire.serviceFactory" />
       <!-- 引用xfire.xml中的xfire实例 -->
       <property name="xfire" ref="xfire" />
    </bean>
    <bean id="HelloWorldService" parent="baseWebService">
       <!-- 业务服务bean -->
       <property name="serviceBean" ref="HelloWorldBean" />
       <!-- 业务服务bean的窄接口类 -->
       <property name="serviceClass" value="webservice.HelloWorld" />
    </bean>
</beans>

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
  <bean id="HelloWorldBean" class="webservice.HelloWorldImpl"/>
</beans>

 

 

package webservice;

public interface HelloWorld {
 String sayHelloWorld(String name);
}

 

 

package webservice;

public class HelloWorldImpl implements HelloWorld {

 @Override
 public String sayHelloWorld(String name) {
  String helloWorld = "hello," + name;
        return helloWorld;
 }

}

 

 

客户端最小2类包:

 

 jdom.jar

wsdl4j-1.5.2.jar

 


 xfire-all-1.1.2.jar

commons-logging-1.0.2.jar

commons-codec-1.2.jar

commons-httpclient-3.0.jar

 

 

 

分享到:
评论

相关推荐

    xfire-all-1.2.6 xfire所需的全部包

    《Xfire全方位解析:1.2.6版本的全面探讨》 Xfire,这款曾经在游戏社区中广受欢迎的即时通讯软件,以其独特的游戏整合功能和社交特性,为玩家提供了便捷的游戏内通信和社区交流平台。本文将深入探讨Xfire 1.2.6这一...

    Xfire的client.zip_Xfire客户端代码_webservice

    在本案例中,"Xfire的client.zip"是一个包含了Xfire客户端代码的压缩包,主要用于调用Web服务。 Xfire客户端代码是实现与Xfire服务器通信的代码库,它可能包含了多种语言的实现,如Java、C#或Python等。这些代码...

    xfire依赖jar包

    xfire是一个早期流行的开源Web服务框架,主要用于构建SOAP(简单对象访问协议)和RESTful(Representational State Transfer)服务。这个框架使得Java开发者能够轻松地创建、部署和消费Web服务。xfire依赖于一系列的...

    XFire创建的WebService

    【XFire创建的WebService】是基于Java平台的开源框架,用于构建和消费Web服务。它在Web服务领域提供了一个轻量级、高性能的选择,尤其适合快速开发。在本例中,我们将探讨如何使用XFire来创建一个简单的WebService...

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

    【整合XFire与Spring进行Web Service开发】 XFire是一个基于Java的SOAP Web Service框架,而Spring是一个广泛应用的轻量级框架,它提供了依赖注入、面向切面编程等特性。将两者集成可以方便地构建和消费Web Service...

    xfire所需jar包

    XFire,全称为XML Fire,是一款历史悠久的开源Java框架,主要用作服务导向架构(SOA)中的Web服务实现工具。它允许开发者快速构建、部署和管理基于HTTP的服务,支持SOAP和RESTful通信协议。在Java开发中,XFire通过...

    xfire myeclipse10包

    【xfire myeclipse10包】是一款专为MyEclipse10集成开发环境设计的XFire插件安装包。XFire是一款强大的Java Web服务框架,它提供了对Web服务的全面支持,包括创建、部署和消费Web服务的能力。在MyEclipse这样的集成...

    java使用XFire调用webService接口

    "Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...

    Spring2.0和XFire1.2.6整合案例

    在IT行业中,集成框架是开发复杂应用程序的关键,Spring和XFire就是两个重要的工具。Spring作为一个强大的Java企业级应用开发框架,提供了丰富的功能,包括依赖注入、面向切面编程(AOP)以及各种服务管理。而XFire...

    xfire+spring+安全认证

    "xfire+spring+安全认证"的主题聚焦于如何利用XFire和Spring框架来实现安全的Web服务。XFire是一个用于创建、消费和部署SOAP Web服务的Java库,而Spring框架则是一个广泛使用的全功能应用开发框架,提供了包括安全性...

    xfire与cxf包冲突解决方案

    1、以下四个类调用了XmlSchema-1.1.jar包 因与cxf包xmlschema-core-*.jar... xfire-all-1.2.6-incomplete.jar 替换 xfire-all-1.2.6.jar 3、XmlSchema-1.1.jar 可以与 xmlschema-core-*.jar 共存避开同路径同名类冲突

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

    Xfire是一款曾经流行的开源Java框架,用于构建和消费Web服务。在本文中,我们将深入探讨Xfire调用Web服务时遇到的参数传递问题以及解决策略。 首先,让我们了解Web服务的基本概念。Web服务基于SOAP(Simple Object ...

    xfire与cxf包冲突解决方法

    1、以下四个类调用了XmlSchema-1.1.jar包 因与cxf包xmlschema-core-*.jar... xfire-all-1.2.6-incomplete.jar 替换 xfire-all-1.2.6.jar 3、XmlSchema-1.1.jar 可以与 xmlschema-core-*.jar 共存避开同路径同名类冲突

    cxf和xfire的jar包冲突解决

    在Java开发中,有时我们可能需要整合不同的框架或者库,比如Apache CXF和XFire,这两个都是用于构建Web服务的框架。然而,由于它们都包含了处理XML Schema(XmlSchema)的相关组件,可能会出现jar包冲突的问题,导致...

    xfire根据WSDL生成客户端代码

    XFire(现已被Apache CXF项目合并)是一个Java框架,它支持SOAP(Simple Object Access Protocol)和WS-*规范,帮助开发者构建和消费Web服务。 本文将详细介绍如何使用XFire根据WSDL文件生成客户端代码,以便快速地...

    spring 集成xfire 比较好的一种方式

    Spring 和 XFire 的集成是构建基于 SOAP 的 Web 服务的一种高效方法。XFire 是一个 Java 框架,专门用于创建和消费 Web 服务,而 Spring 框架则提供了全面的企业级应用开发支持。将这两者结合可以利用 Spring 的强大...

    xfire客户端jar包

    xfire客户端jar包是用于构建Web服务客户端的一个关键组件,它是Apache CXF项目早期的版本。Apache CXF是一个流行的开源框架,它支持多种Web服务标准,包括SOAP、RESTful API和WS-*规范。xfire-jar包包含了实现这些...

    xfire-all-1.2.6.jar.zip

    《Xfire:构建Web服务的关键组件》 在IT行业中,Web服务已经成为企业级应用集成、数据交换和跨系统通信的核心技术。Xfire,一个历史悠久的Java库,是开发者们构建Web服务的重要工具,特别是对于那些熟悉Java环境的...

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

    Spring 和 XFire 是一个经典的组合,用于在Java应用程序中创建和消费Web服务。Spring作为一个强大的框架,提供了全面的依赖注入和面向切面编程能力,而XFire是早先的Web服务实现,它允许开发者轻松地将Java接口转换...

Global site tag (gtag.js) - Google Analytics