苍海一薯 2015-07-23 01:42
浏览 789

xfire 客户端没有等待服务端返回,就向下执行,这样导致客户端获取不到返回值

服务端配置:

 <bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler" />

<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
    <property name="beanNames">
        <list>
            <value>webServiceForPlaceRemote</value>
        </list>
    </property>
</bean>
<bean id="placeManager" class="com.rainsoft.yunReg.manage.PlaceManager" />
<!-- 场所编码生成,获取场所信息接口  -->
 <bean name="webServiceForPlaceRemote" class="org.codehaus.xfire.spring.ServiceBean">
    <property name="serviceBean" ref="placeManager"></property>
    <property name="serviceClass" value="com.rainsoft.app.webservice.interfaces.WebServiceForPlace"></property>
    <property name="inHandlers">
        <list>
            <ref bean="addressingHandler" />
        </list>
    </property>
</bean>

客户端调用:

String url = "http://localhost:8080/yun_reg/service/WebServiceForPlace";
serviceFactory = new ObjectServiceFactory();
Service serviceModel = serviceFactory.create(WebServiceForPlace.class);
WebServiceForPlace service=null;
try {
    service = (WebServiceForPlace) new XFireProxyFactory().create(serviceModel,url);
    Map actionValues = new HashMap();
    actionValues.put("areaCode", "342422");
    actionValues.put("businessNature", "1");
    actionValues.put("serviceType", "1");
    String placeCode = service.savePlaceAndReturnPlaceCode(actionValues);
    System.out.println(placeCode);

    Map place = service.getPlace("65232810000001");
    System.out.println(placeCode);

} catch (MalformedURLException e) {
    e.printStackTrace();
}

服务端代码是执行了,但是客户端打印的都是null。客户端直接向下执行,并不会等待服务端执行结束

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 matlab计算中误差
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料
    • ¥15 使用R语言marginaleffects包进行边际效应图绘制
    • ¥20 usb设备兼容性问题
    • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊