Spring jws 快速发布webservice
来源:互联网 发布:背地图的软件 编辑:程序博客网 时间:2024/06/05 16:33
1、编写需要发布的JavaBean
package com.*.wtms.business.service.ws;import java.util.Date;import java.util.List;import javax.annotation.Resource;import javax.jws.WebMethod;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import javax.jws.soap.SOAPBinding.ParameterStyle;import org.springframework.stereotype.Service;import com.*.wtms.business.dao.DeepLigthologyDao;import com.*.wtms.business.dao.DrillingCollectionDao;import com.*.wtms.business.dao.DrillingTaskDao;import com.*.wtms.business.dao.QualityCollectionDao;import com.*.wtms.business.dao.QualityTaskDao;import com.*.wtms.business.entity.DeepLigthology;import com.*.wtms.business.entity.DrillingCollection;import com.*.wtms.business.entity.DrillingTask;import com.*.wtms.business.entity.QualityCollection;import com.*.wtms.business.entity.QualityTask;import com.*.wtms.utils.Log;@Service@WebService(serviceName = "mobilewebservice")@SOAPBinding(parameterStyle=ParameterStyle.WRAPPED)public class Mobilews{@Resourceprivate DrillingCollectionDao drillingCollectionDao;@Resourceprivate DeepLigthologyDao deepLigthologyDao;@Resourceprivate QualityCollectionDao qualityCollectionDao;@Resourceprivate DrillingTaskDao drillingTaskDao;@Resourceprivate QualityTaskDao qualityTaskDao;@WebMethod public boolean addDrillCollection(long projectId, long taskId, String measureNo, String wellsNo, String deviceCode, String wellsName, String wellsLocation, double RagEndDeep, int lithology, int deviceType, Date selfCheckDate, double selfCheckDeep, String operator, int note){DrillingCollection drillingCollection = new DrillingCollection(projectId, taskId, measureNo, wellsNo, deviceCode, wellsName, wellsLocation, RagEndDeep, lithology, selfCheckDeep, selfCheckDate, operator, note);try{drillingCollectionDao.save(drillingCollection);return true;} catch (Exception e){Log.getLogger(getClass()).error("call webservice to save DrillingCollection error:" + e.getMessage());}return false;}@WebMethodpublic boolean addDeepLithologyItem(long taskId, double deepFrom, double deepTo, int ligthologyType){DeepLigthology deepLigthology = new DeepLigthology(taskId, deepFrom, deepTo, ligthologyType);try{deepLigthologyDao.save(deepLigthology);return true;} catch (Exception e){Log.getLogger(getClass()).error("call webservice to save DeepLigthology error:" + e.getMessage());}return false;}@WebMethodpublic boolean addQualityCollection(long projectId, long taskId, String measureNo, String wellsNo, String deviceCode, int mechineType, int hasmark, double wellsLocation, double wellsDeep, double waterDeep, int lithology, int measureHandle, int saftyEnviroment, int isOk, String checker, String note){QualityCollection qualityCollection = new QualityCollection(projectId, taskId, measureNo, wellsNo, deviceCode, mechineType, hasmark, wellsLocation, wellsDeep, waterDeep, lithology, checker, measureHandle, saftyEnviroment, isOk, 0, note);try{qualityCollectionDao.save(qualityCollection);return true;} catch (Exception e){Log.getLogger(getClass()).error("call webservice to save QualityCollection error:" + e.getMessage());}return false;}/** * PDA请求的钻井任务数据列表 * * @param measureNo * 测线编号 * @param wellsNo * 井位编号 * @param processStatus * 任务进度状态 * @return */@WebMethodpublic List<DrillingTask> getDrillingTasks(String measureNo, String wellsNo, int processStatus){return drillingTaskDao.getDrillingTasks(measureNo, wellsNo, processStatus);}/** * PDA 请求的质检任务数据列表 * * @param measureNo * 测线编号 * @param wellsNo * 井位编号 * @param processStatus * 任务进度状态 * @return */@WebMethodpublic List<QualityTask> getQualityTasks(String measureNo, String wellsNo, int processStatus){return qualityTaskDao.getQualityTasks(measureNo, wellsNo, processStatus);}/*********************************** PDA数据本地化方案 **************************************//** * PDA 请求的质检任务数据列表[本地化数据] * * @param deviceCode * 设备编码 * @return */@WebMethodpublic List<DrillingTask> getDrillingTasksByLocal(String deviceCode){return drillingTaskDao.getDrillingTasksByLocal(deviceCode);}/** * PDA 请求的质检任务数据列表[本地化数据] * * @param deviceCode * 设备编码 * @return */@WebMethodpublic List<QualityTask> getQualityTasksByLocal(String deviceCode){return qualityTaskDao.getQualityTasksByLocal(deviceCode);}}
2、配置Spring applicationContext.xml
<!-- webservice start--><bean class="org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter"><property name="baseAddress" value="http://localhost:8088/" /></bean><bean id="mobilewebservice" class="com.scengine.wtms.business.service.ws.Mobilews"/> <!-- webservice end -->
3、说明及注意
(1)、通过http://localhost:8080/mobilewebservice?wsdl访问webservice部署描述符,还有自动生成的xsd:http://localhost:8080/mobilewebservice?xsd=1 。
(2)、@SOAPBinding(parameterStyle=ParameterStyle.WRAPPED)必须添加,否则会报错;另外,如果发布的方法只有一个参数可以使用@SOAPBinding(parameterStyle=ParameterStyle.BARE)。
(3)、@WebService(serviceName = "mobilewebservice") 服务名称与Spring配置的bean一致。
参考地址:http://wodar.iteye.com/blog/230162,http://m.blog.csdn.net/blog/jadyer/9002553
(4)、webservice的端口设置不要与服务器一样,这一点非常重要否则服务器应用与webservice服务冲突会产生HTTP404错误。
4、结果截图
服务地址:
wsdl地址:
0 0
- Spring jws 快速发布webservice
- Spring MVC 中发布jws webservice 请求HTTP404错误处理
- AXIS调用jws发布的webservice
- webservice-jws
- jws+webservice
- JWS-webservice 与Axis2-webservice的快速实现
- JWS-webservice 与Axis2-webservice的快速实现
- java 用jws发布一个简单的webservice
- [Java] Webservice之即时发布JWS教程 (一)
- 使用JAX-WS(JWS)在tomcat中发布WebService
- 快速实现一个基于Jws的Webservice项目
- CXF 快速实现基于JWS的WebService项目(转)
- Webservice01---快速的实现一个基于Jws的WebService项目
- spring boot框架,基于JWS的webservice实例
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
- 关于Oracle Timezone的一点总结
- Pomelo 新手入门(二)
- 已知旋转中心和旋转角度,获得旋转之后的一组点坐标
- windows下socket编程,多线程
- 前端知识汇总【面试用】(二)
- Spring jws 快速发布webservice
- 细说websocket - php篇
- android 幻灯片 图片来自instagram 图片大且多,使用软引用,幻灯片播放还有水平滑动使用ViewFliper
- 左侧蓝 目录树
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC SHOW_STATISTICSDBCC SHOW_STATISTICS 显示表或索引视图的当前查询优化统计信息
- 网站左侧广告代码(商务通)
- 2013年新浪微博媒体报告年度盘点
- OSX: 读书笔记-Plist偏好配置文件编程-附用Python访问
- View requires API level 14 (current min is 8): <GridLayout>