xfire的webservice示例

1、首先将xfire需要的jar包上传的项目中。
[img]http://dl2.iteye.com/upload/attachment/0115/4354/c1244ea9-c7d4-3407-9a53-0208aaffe2df.png[/img]

项目的结构图:
[img]http://dl2.iteye.com/upload/attachment/0115/4359/36e86319-21de-3a9b-95c8-95368eea76d8.png[/img]

2、在web.xml文件中配置xfire信息

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

<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<!-- 加载属性文件 用于读取jdbc信息 -->
<listener>
<listener-class>com.fysh.listener.PropListener</listener-class>
</listener>
</web-app>


代码中配置了一个监听器,我使用监听器加载jdbc的信息保存在内存中。
3、定义接口并实现

package com.fysh.service;

public interface FyshService {

/**
* 门诊审核信息
* @param xml_mz_ycxx
* @return
*/
public String upload_mz_ycxx(String xml_mz_ycxx);

/**
* 住院审核信息
* @param xml_zy_ycxx
* @return
*/
public String upload_zy_ycxx(String xml_zy_ycxx);

/**
* 门诊信息反馈
* @param xml_mz_ycxx
* @return
*/
public String download_mz_ycxx(String xml_mz_ycxx);

/**
* 住院信息反馈
* @param xml_zy_ycxx
* @return
*/
public String download_zy_ycxx(String xml_zy_ycxx);


/**
* 阀值信息
* @param xml_mz_fzxx
* @return
*/
public String download_fzxx(String xml_fzxx);

}

接口的实现类

package com.fysh.service.impl;

import java.util.Map;

import com.fysh.dao.FyshDao;
import com.fysh.service.FyshService;

public class FyshServiceImpl implements FyshService {



/**
* 获取门诊审核反馈信息
*/
public String download_mz_ycxx(String xml_mz_ycxx) {
String resXml="<xml_mz_ycxx_fk>";
FyshDao dao = new FyshDao();
Map<String,String> resMap = dao.getMzYcxx(xml_mz_ycxx);
for (String key : resMap.keySet()) {
resXml = resXml +"<"+key+">"+resMap.get(key)+"</"+key+">";
}
resXml = resXml + "</xml_mz_ycxx_fk>";
return resXml.toLowerCase();
}

/**
* 获取住院审核反馈信息
*/
public String download_zy_ycxx(String xml_zy_ycxx) {
String resXml="<xml_zy_ycxx_fk>";
FyshDao dao = new FyshDao();
Map<String,String> resMap = dao.getZyYcxx(xml_zy_ycxx);
for (String key : resMap.keySet()) {
resXml = resXml +"<"+key+">"+resMap.get(key)+"</"+key+">";
}
resXml = resXml + "</xml_zy_ycxx_fk>";
return resXml.toLowerCase();
}

/**
* 提交门诊审核信息
*/
public String upload_mz_ycxx(String xml_mz_ycxx) {
String resXml="<xml_mz_ycxx><isok>";
FyshDao dao = new FyshDao();
boolean resFlag = dao.saveMzYcxx(xml_mz_ycxx);
resXml = resXml+resFlag +"</isok></xml_mz_ycxx>";
return resXml.toLowerCase();
}

/**
* 提交住院审核信息
*/
public String upload_zy_ycxx(String xml_zy_ycxx) {
String resXml="<xml_mz_ycxx><isok>";
FyshDao dao = new FyshDao();
boolean resFlag = dao.saveMzYcxx(xml_zy_ycxx);
resXml = resXml+resFlag +"</isok></xml_mz_ycxx>";
return resXml.toLowerCase();
}

/**
* 获取阀值信息
*/
public String download_fzxx(String xml_fzxx) {
String resXml="<xml_fzxx>";
FyshDao dao = new FyshDao();
Map<String,String> resMap = dao.getFzxx(xml_fzxx);
for (String key : resMap.keySet()) {
resXml = resXml +"<"+key+">"+resMap.get(key)+"</"+key+">";
}
resXml = resXml+"</xml_fzxx>";
return resXml.toLowerCase();
}

}


4、调用的类

XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
Client client = new Client(new URL("http://localhost:8080/fysh_webservice/services/fysh?wsdl"),FyshService.class);
String xml_zy_fk="<xml_zy_ycxx_fk><jgbm>310114117</jgbm><zylsh>34534532</zylsh></xml_zy_ycxx_fk>";
System.out.println(((FyshService)factory.create(client)).download_zy_ycxx(xml_zy_fk));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值