服务端:
package com.thunisoft.np.fy.dwjk.akxt;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(targetNamespace = "http://service.akxt.dwjk.fy.np.thunisoft.com")
public interface ICaseForAkxtService {
public String bgcbrInfo(@WebParam(name="queryParam") String queryParam,
@WebParam(name="systemId") String systemId);
}
package com.thunisoft.np.fy.dwjk.akxt.impl;
import java.util.Iterator;
import java.util.List;
import javax.jws.WebParam;
import javax.jws.WebService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import com.thunisoft.artery.module.organ.IUser;
import com.thunisoft.artery.module.organ.util.ArteryOrganUtil;
import com.thunisoft.np.datamodel.cases.fy.base.TFySpzzcybg;
import com.thunisoft.np.fy.dwjk.akxt.ICaseForAkxtService;
import com.thunisoft.np.fy.dwjk.dao.impl.CaseInfoDao;
import com.thunisoft.np.fy.dwjk.pub.XmlParseUtils;
import com.thunisoft.summer.util.StringUtils;
@WebService(endpointInterface = "com.thunisoft.np.fy.dwjk.akxt.ICaseForAkxtService",targetNamespace = "http://service.akxt.dwjk.fy.np.thunisoft.com")
public class CaseForAkxtService implements ICaseForAkxtService {
@Autowired
@Qualifier("caseInfoDao")
private CaseInfoDao caseInfoDao;
private Log log = LogFactory.getLog(this.getClass());
public String bgcbrInfo(@WebParam(name ="queryParam") String queryParam,@WebParam(name="systemId") String systemId) {
Document resultDom = XmlParseUtils.createDocument();
Element root = resultDom.addElement("NpfyCase");
if (StringUtils.isEmpty(queryParam)) {
root.addAttribute("errMsg","参数为空!");
log.error("systemId=" + systemId + " 参数为空,无法查询!");
return resultDom.asXML();
}
try {
Document paramDom = XmlParseUtils.getDomFromString(queryParam);
Element paramEle = paramDom.getRootElement();
Attribute fyAttr = paramEle.attribute("FY");
Attribute ajlbAttr = paramEle.attribute("AJLB");
Attribute sljdAttr = paramEle.attribute("SLJD");
Attribute cxrqAttr = paramEle.attribute("CXRQ");
String fyStr = fyAttr.getText();
String ajlbStr = ajlbAttr.getText();
String sljdStr = sljdAttr.getText();
String cxrqStr = cxrqAttr.getText();
if(org.apache.commons.lang.StringUtils.isEmpty(fyStr)
|| org.apache.commons.lang.StringUtils.isEmpty(ajlbStr)
|| org.apache.commons.lang.StringUtils.isEmpty(sljdStr)
|| org.apache.commons.lang.StringUtils.isEmpty(cxrqStr)){
log.error("systemId=" + systemId + " 参数不全");
root.addAttribute("errMsg","参数不全!");
return resultDom.asXML();
}
int fy = Integer.valueOf(fyStr);
int nAjlb = Integer.valueOf(ajlbStr);
int sljd = Integer.valueOf(sljdStr);
List<TFySpzzcybg> list= caseInfoDao.getBgcbrInfo(fy,nAjlb,sljd,cxrqStr);
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
TFySpzzcybg tFySpzzcybg = (TFySpzzcybg) iterator.next();
Element ajEle = root.addElement("aj");
ajEle.addAttribute("ajbh",tFySpzzcybg.getCBhAj());
Integer nYcy = tFySpzzcybg.getNYcr();
Integer nXcy = tFySpzzcybg.getNXcr();
String cYcy = String.valueOf(nYcy);
String cXcy = String.valueOf(nXcy);
IUser ycyUser = ArteryOrganUtil.getUserById(cYcy);
String ycyDept = (ycyUser==null?null:ycyUser.getDeptId());
IUser xcyUser = ArteryOrganUtil.getUserById(cXcy);
String xcyDept = (xcyUser==null?null:xcyUser.getDeptId());
ajEle.addAttribute("oldCbr",cYcy);
ajEle.addAttribute("newCbr",cXcy);
ajEle.addAttribute("oldCbts",ycyDept);
ajEle.addAttribute("newCbts",xcyDept);
}
return resultDom.asXML();
} catch (Exception e) {
root.addAttribute("errMsg","解析参数失败!");
log.error("systemId=" + systemId + " 解析参数失败");
return resultDom.asXML();
}
}
}
spring 文件:
<bean id="caseForAkxtService" class="com.thunisoft.np.fy.dwjk.akxt.impl.CaseForAkxtService"></bean>
<!-- 案款系统接口地址-->
<jaxws:endpoint id="CaseForAkxtService" address="/CaseForAkxtService">
<jaxws:implementor>
<ref bean="caseForAkxtService" />
</jaxws:implementor>
</jaxws:endpoint>
客户端:
String param = "efef"; Service service = new Service(); try { Call call = (Call) service.createCall(); String methord = "bgcbrInfo"; call.setTargetEndpointAddress("http://172.16.192.246:8080/np-fy-dwjk/services/CaseForAkxtService"); call.setoperationName(methord); call.addParameter("queryParam",//设置要传递的参数 org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); call.addParameter("systemId",//设置要传递的参数 org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); call.setUseSOAPAction(true); call.setSOAPActionURI("http://service.akxt.dwjk.fy.np.thunisoft.com/bgcbrInfo"); String result = (String) call.invoke(new Object[] { param,"fwewef" }); logger.info("接口返回结果:" + result); } catch (Exception ex) { logger.error("调用谈话系统接口失败",ex); }