最近在看WebServices XFire框架.也在网上找了点资料.基本的数据类型当参数时,很容易解决,在网上也有很多的例子.
但是这样远远不能满足我们程序员的要求.在开发中,我们的接口经常要以对象,集合作为参数.来满足我们的要求.而且XFire也支持SOAP协议, 就是支持对象作为参数传递.刚开始在网上找了好多例子,都没有找到有好的,也没有那个兄弟说怎么用,有的说用aegis配置文件来,通过client类来调用WebServices是不行的.我试过好多次了,不管用.那也是相对于JDK1.4来说的.1.5就不用了.
后来经过和同事谈论,终于有一种方发能传递对象.或者集合了.办法就是.
把我们在服务端写的接口.传递的实例.也都相应的在客户端建一份.不能没有怎么传过去.
代码如下:
String url = "http://localhost:8080/WebServices/services/HelloService";
Service service = new ObjectServiceFactory().create(HelloWorld.class,null,"myservices",null);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
HelloWorld hw = (HelloWorld)factory.create(service,url);
url是我们的service服务URL.
也就是通过接口类,URL,这两个参数,我们就能通过ObjectServiceFactory 类创建service了.
然后通过XFireProxyFactory和 service就创建一个接口类,通过这个接口类就可以调用接口的方法.
这样就达到了传递对象,集合的目的.
希望对有需要的朋友能够起到帮助.
分享到:
相关推荐
在这个“xfire 使用外部类、返回collection及输入数组参数示例”中,我们将深入探讨如何利用Xfire来处理复杂的参数类型,包括外部类引用、集合(Collection)返回以及数组作为输入参数。 ### 1. 外部类的使用 在...
对于集合类型的处理,XFire提供了自定义配置来支持不同类型的集合对象,例如,你可以指定如何将集合转换为XML元素或反之。 首先,我们需要了解XFire的配置结构。XML配置文件中,服务通常被定义为一个`<service>`...
这个“xfire客户端需要的jar”文件集合,显然是为了支持基于XFire的客户端应用程序运行而必需的Java类库。 首先,让我们深入了解一下XFire。XFire是Apache CXF项目的前身,它最初设计的目标是简化Web服务的开发过程...
实体类通常代表业务对象,如数据库记录或特定业务操作的输入/输出参数。在服务交互中,这些实体类会被序列化为XML消息进行传输。 4. **集合类(Collection Class)**:集合类如ArrayList或HashSet等,用于处理多个...
在解决多线程意外死亡重启问题时,我们可以结合线程池和观察者模式。首先,创建一个线程池,将任务提交到线程池中执行。然后,每个线程在执行过程中都可以作为一个观察者,监听自身是否出现异常。一旦线程意外死亡,...
文档可能总结了如何配置和使用这种绑定方式,包括相关的XML配置、注解的使用,以及可能出现的问题和解决方案。 总的来说,这个压缩包提供了一套全面的学习资源,适合想要深入理解Java Web服务、多线程、Ajax和特定...
`aegis.xml`配置文件主要用于在Web服务(尤其是使用了XFire框架的情况下)中定义如何处理复杂的数据类型,特别是那些集合类型的参数或返回值。通过配置`aegis.xml`文件,开发者能够确保Web服务能够正确解析这些复杂...
这些方法展示了XFire支持的数据类型处理能力,例如基本字符串类型、自定义对象类型(如`User`和`Course`)以及集合类型。 **代码示例:** ```java public interface IHelloService { public String sayHello...
设计模式提供了解决常见问题的最佳实践,有助于提高代码的可读性、可维护性和复用性。 **Oracle数据库管理**: 1. **Oracle逻辑结构**: Oracle的逻辑结构包括表空间(Tablespaces)、段(Segments)、区...
- **逻辑题**:培养解决问题的能力和创新思维,如经典的“河内塔”问题、“八皇后”问题等。 #### Web表示层技术 - **JSP**:Java Server Pages,动态生成HTML页面。 - **Freemarker、Velocity**:模板引擎,用于...
2.3.3装配集合 2.3.4装配空值 2.4自动装配 2.4.1四种自动装配类型 2.4.2混合使用自动和手动装配 2.4.3何时采用自动装配 2.5控制bean创建 2.5.1bean范围化 2.5.2利用工厂方法来创建bean 2.5.3初始化和销毁...
2.3.3 装配集合 2.3.4 装配空值 2.4 自动装配 2.4.1 四种自动装配类型 2.4.2 混合使用自动和手动装配 2.4.3 何时采用自动装配 2.5 控制Bean创建 2.5.1 Bean范围化 2.5.2 利用工厂方法来创建Bean 2.5.3 ...
2.3.3 装配集合 2.3.4 装配空值 2.4 自动装配 2.4.1 四种自动装配类型 2.4.2 混合使用自动和手动装配 2.4.3 何时采用自动装配 2.5 控制Bean创建 2.5.1 Bean范围化 2.5.2 利用工厂方法来创建Bean 2.5.3 ...
9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 ...