-
xfire服务器端返回自定义对象中包含hashmap的问题 10
我在项目中遇到这样一个问题,webservice服务器段用xfire实现,暴露的service方法返回一个自定义的对象ClaimNodeTimes(后面会贴出代码),这个对象中一个属性refusePayReason是HashMap<string,string>类型。
然后我用xfire的eclipse插件生成的测试代码进行测试,发现ClaimNodeTimes对象中的基本类型属性都能取到值,但是refusePayReason是空的,哪位遇到过这种问题,麻烦给解释下。
贴出代码如下:
自定义对象ClaimNodeTimes
public class ClaimNodeTimes { private HashMap<string,string> refusePayReason; public HashMap<string,string> getRefusePayReason() { return refusePayReason; } public void setRefusePayReason(HashMap<string,string> refusePayReason) { this.refusePayReason = refusePayReason; } }
这里还有个问题,我看xfire的文档中说使用java5的泛型,就可以不用对collections 做aegis binding,但我发现即便使用了泛型在客户端生成的代码中refusePayReason的类型仍然是anyType2anyTypeMap,所以还是写了aegis binding,refusePayReason的类型就成了String2StringMap,如下:
<!----> <mappings xmlns:vo="http://vo.customer.claim.picc.com.cn"> <mapping name="vo:ClaimNodeTimes"> <property name="refusePayReason" keytype="java.lang.String" componenttype="java.lang.String"> </mapping> </mappings>
暴露的service:
public interface CustomerWebServices { public ClaimNodeTimes findClaimNodeTimesByRegistNo(String registNo); }
对service的aegis binding:
<mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance " xsi:schemalocation="http://xfire.codehaus.org/schemas/1.0/mapping.xsd "> <mapping> <method name="findClaimNodeTimesByRegistNo"> <return-type componenttype="cn.com.picc.claim.customer.vo.ClaimNodeTimes"> </method> </mapping> </mappings>
服务器端xfire的配置:
<!----> <beans> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="urlMap"> <entry key="/CustomerWebServices"> <ref bean="customers"> </entry> </property> </bean> <bean id="customers" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false"> <property name="serviceFactory"> <ref bean="xfire.serviceFactory"> </property> <property name="xfire"> <ref bean="xfire"> </property> <property name="serviceBean"> <ref bean="customerWebServices"> </property> <property name="serviceClass"> <value>cn.com.picc.claim.customer.service.facade.CustomerWebServices</value> </property> </bean> </beans>
service配置:
<!----> <beans default-autowire="byName" default-lazy-init="true"> <bean id="customerWebServices" class="cn.com.picc.claim.customer.service.spring.CustomerWebServiceSpringImpl" scope="prototype"> </beans>
下面是用xfire的eclipse插件生成的测试代码:
public class TestMain { public static void main(String[] args){ CustomerWebServicesClient client=new CustomerWebServicesClient(); ClaimNodeTimes array = client.getCustomerWebServicesHttpPort() .findClaimNodeTimesByRegistNo("RDAA200835020000004015"); String2StringMap temp = array.getRefusePayReason().getValue(); List list = temp.getEntry(); System.out.println(list.size()); }
我debug的时候,在服务器端接口实现中ClaimNodeTimes对象的refusePayReason是有值的,但list的size为0.
哪位能指点一下?
2008年11月26日 21:54
目前还没有答案
相关推荐
这个压缩包包含了XFire服务器端运行所需的Java类库,即.jar文件,这些文件是Java应用程序执行时的二进制格式,包含了编译后的代码和其他资源。 1. **XFire核心功能**: XFire的核心功能包括网络通信、游戏状态管理...
本教程将深入探讨如何使用XFire来返回自定义的实体类实例。 首先,了解XFire的基本概念。XFire是Apache CXF项目的一部分,它支持基于SOAP和RESTful的Web服务。XFire通过使用Java注解或XML配置文件,使得开发者可以...
XFire Webservice 服务器端是一个专门用于游戏社区的网络服务接口,它允许开发者与XFire游戏客户端进行交互,实现各种功能,如用户登录、好友系统、游戏统计等。在这个压缩包文件中,"WSA"可能代表Web Service ...
【xfire服务器端】是一个基于xfire和Spring框架构建的服务器端示例,它展示了如何在实际开发中整合这两者来实现高效、灵活的Web服务。Xfire是一款强大的SOAP和RESTful Web服务框架,它允许开发者快速创建和部署Web...
在本文中,我们将深入探讨Java XFire在构建Web服务服务器端的角色,以及如何利用它进行开发。 首先,让我们理解Web服务的基本概念。Web服务是一种基于互联网的软件应用,它提供了一种标准化的方式,使不同系统之间...
在这个“xfire 使用外部类、返回collection及输入数组参数示例”中,我们将深入探讨如何利用Xfire来处理复杂的参数类型,包括外部类引用、集合(Collection)返回以及数组作为输入参数。 ### 1. 外部类的使用 在...
XFire客户端的开发涉及多个技术层面,其中包括Java编程语言,因为此处提到的是"xfire客户端端开发的JAR包"。JAR(Java Archive)文件是Java平台特有的归档格式,用于封装Java类库,便于分发和运行。以下是对这些知识...
在本文中,我们将探讨XFire框架在开发Web服务中的实践应用,以及如何处理复杂对象的传递。XFire作为MyEclipse 5.5默认的Web服务框架,虽然可能现在不是主流选择,但它提供的IDE支持使得环境配置和开发相对简便。 ...
xfire+webService 客户端和服务器端的例子 xfire-distribution-1.2.6.zip 是xfire的包,网上可以下载的,本人已经下载完毕。 另附两个xfire的配制文档,供大家参考。 XFire-WebService.pdf Xfire WebService...
1. 定义`Order`类,并在服务器端方法中使用,如`public boolean addOrder(Order order)`。 2. 在客户端,使用对象工厂类`com.newer.bean.ObjectFactory`来创建`Order`对象及其属性,例如: ```java ...
这个"xfire的webservice项目demo"是一个实践性的示例,展示了如何使用Xfire来实现Web服务的服务器端和客户端。 首先,我们要理解Web服务的工作原理。Web服务的基本概念是将业务逻辑封装成一系列可以远程调用的方法...
1. **编码问题**:确保客户端和服务器端都使用相同的字符编码。如果编码不一致,可能会导致参数值在传输过程中发生乱码。检查请求和响应的编码设置。 2. **参数序列化**:Xfire在发送请求时会将Java对象序列化为XML...
在Xfire中,客户端通过发送SOAP消息到服务端来调用服务,服务端处理请求后返回响应。 标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收...
### xfire+webservice(服务器配置篇) #### 知识点概述 本文档主要介绍了如何在现有的Spring2.5+Hibernate3.2基础上添加XFire来实现WebService服务的配置过程。通过逐步指导的方式,帮助读者了解整个配置流程,并...
xfire是一个早期流行的开源Web服务框架,主要用于构建SOAP(简单对象访问协议)和RESTful(Representational State Transfer)服务。这个框架使得Java开发者能够轻松地创建、部署和消费Web服务。xfire依赖于一系列的...
在本例中,我们将探讨如何使用XFire来创建一个简单的WebService服务器端。 首先,让我们了解什么是Web服务。Web服务是一种通过网络(通常使用HTTP协议)进行通信的应用程序接口。它们允许不同系统之间的数据交换,...
首先,`xfire-all-1.2.6.jar`是核心库文件,它集成了XFire的所有功能,包括网络协议处理、游戏状态同步、服务器发现等。开发人员可以通过导入这个JAR文件,快速地在项目中集成XFire的全部功能,实现游戏服务器间的...
但如果方法的返回类型是List或Map,并且包含自定义对象,我们需要额外的配置文件来描述这些复杂类型。例如,如果接口方法`getUsers`返回一个`List<User>`,我们需要一个名为`HelloWorld.aegis.xml`的文件: ```xml ...
为了更好地理解和使用Xfire API,开发者可以参考提供的帮助文档,文档中通常会包含API接口的详细说明、示例代码以及常见问题解答。对于初学者,理解每个API方法的功能和参数、以及如何正确构造HTTP请求是非常重要的...