第一步:引入axis的依赖jar包 

第二步:修改web.xml文件   

<listener>
<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>
</listener>
<servlet>
<display-name>Apache-Axis Servlet</display-name>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>

第三步:在struts.properties文件中新增 struts.action.excludePattern=/services/.*,/servlet/AxisServlet

第四部:server-config.wsdd编写

server-config.wsdd代码编写:

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<globalConfiguration>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="disablePrettyXML" value="true"/>
<parameter name="adminPassword" value="admin"/>
<parameter name="attachments.Directory" value="D:\apache-tomcat-6.0.24\webapps\CHIMSWEB\WEB-INF\attachments"/>
<parameter name="dotNetSoapEncFix" value="true"/>
<parameter name="enableNamespacePrefixOptimization" value="false"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
<parameter name="sendXsiTypes" value="true"/>
<requestFlow>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="session"/>
</handler>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="request"/>
<parameter name="extension" value=".jwr"/>
</handler>
</requestFlow>
</globalConfiguration>
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
<service name="chimsBoneServer" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="com.zhongzhi.chims.service.chimswebservice.server.ChimsBoneServer"/>
<beanMapping languageSpecificType="java:com.zhongzhi.chims.model.EvalBoneAge" qname="ns1:EvalBoneAge" xmlns:ns1="urn:EvalBoneAge"/>
</service> <!-- 手机app调用 name="className" value="webservice接口实现类" name="allowedMethods" value="*"表示可以调用类里面的所有方法 -->
<service name="ChimsAppImplService" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="com.zhongzhi.chims.service.App.service.ChimsAppImplService"/>
</service> <service name="AdminService" provider="java:MSG">
<parameter name="allowedMethods" value="AdminService"/>
<parameter name="enableRemoteAdmin" value="false"/>
<parameter name="className" value="org.apache.axis.utils.Admin"/>
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
</service>
<service name="Version" provider="java:RPC">
<parameter name="allowedMethods" value="getVersion"/>
<parameter name="className" value="org.apache.axis.Version"/>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
</requestFlow>
<parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
<parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
</transport>
<transport name="local">
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
</deployment>

  下面就可以开始webservice接口开发了

webservice接口:

package com.zhongzhi.chims.service.App.service;

/***
*
* @author pxh</br>
*
* 2015-12-9 上午11:50:26</br>
*
* chims系统与手机APP对接服务
*/
public interface ChimsAppInterfaceService extends java.rmi.Remote{ /**
* 获取儿童信息
* @param appChildInfo
* @throws java.rmi.RemoteException
*/
public void getChildBasicInfo(java.lang.String childInfoXml) throws java.rmi.RemoteException; /***
* 身高、体重对比
* @param childId 儿童id
* @param height 身高
* @param weight 体重
* @param boneAge 骨龄
* @return
* @throws java.rmi.RemoteException
*/
public java.lang.String sendHeightAndWeight(java.lang.String childId,java.lang.String height,java.lang.String weight,String boneAge)throws java.rmi.RemoteException; /***
* 五年长高目标(成长跑道)
* @param childId
* @param currentHeight
* @return
* @throws java.rmi.RemoteException
*/
public java.lang.String longHighTarget(java.lang.String childId,java.lang.String currentHeight)throws java.rmi.RemoteException; /***
* 风险评估
* @param childId
* @param riskXml
* @return
* @throws java.rmi.RemoteException
*/
public java.lang.String riskAssessment(java.lang.String childId,java.lang.String riskXml) throws java.rmi.RemoteException;
}

  webservice接口实现类:

package com.zhongzhi.chims.service.App.service;

import java.rmi.RemoteException;

public class ChimsAppImplService implements ChimsAppInterfaceService {

	public void getChildBasicInfo(String childInfoXml) throws RemoteException {
System.out.println(childInfoXml);
} /***
* 儿童身高、体重对比
*/
public String sendHeightAndWeight(String childId, String height,
String weight, String boneAge) throws RemoteException {
//String str="<returns><state>0</state><heightStandard></heightStandard></returns>";
StringBuffer buffer=new StringBuffer();
buffer.append("<returns>");
buffer.append("<state>0</state>");
buffer.append("<heightStandard>84</heightStandard>");
buffer.append("<ageHeight>2</ageHeight>");
buffer.append("<boneAgeHeight>2</boneAgeHeight>");
buffer.append("<weightStandard>34</weightStandard>");
buffer.append("<ageweight>2</ageweight>");
buffer.append("<heightAndWeight>2</heightAndWeight>");
buffer.append("</returns>");
return buffer.toString();
} /***
* 五年成长目标(成长跑道)
*/
public String longHighTarget(String childId, String currentHeight)throws RemoteException {
StringBuffer buffer=new StringBuffer();
buffer.append("<returns>");
buffer.append("<state>0</state>");
buffer.append("<forecastHeights>");
buffer.append("<forecastHeight age=\"1\" targetHeight=\"65\">-161.2</forecastHeight>");
buffer.append("<forecastHeight age=\"2\" targetHeight=\"71.4\">161.2</forecastHeight>");
buffer.append("<forecastHeight age=\"3\" targetHeight=\"90.8\">163.1</forecastHeight>");
buffer.append("<forecastHeight age=\"4\" targetHeight=\"99.1\">164.9</forecastHeight>");
buffer.append("<forecastHeight age=\"5\" targetHeight=\"107.1\">166.7</forecastHeight>");
/*buffer.append("<forecastHeight age='6' targetHeight='114.6'>168.6</forecastHeight>");
buffer.append("<forecastHeight age='7' targetHeight='122.3'>170.6</forecastHeight>");
buffer.append("<forecastHeight age='8' targetHeight='130'>172.7</forecastHeight>");
buffer.append("<forecastHeight age='9' targetHeight='137.3'>174.8</forecastHeight>");
buffer.append("<forecastHeight age='10' targetHeight='144.4'>176.8</forecastHeight>");
buffer.append("<forecastHeight age='11' targetHeight='151.3'>178.7</forecastHeight>");
buffer.append("<forecastHeight age='12' targetHeight='158.9'>180.5</forecastHeight>");
buffer.append("<forecastHeight age='13' targetHeight='166.2'>182.3</forecastHeight>");
buffer.append("<forecastHeight age='14' targetHeight='173.6'>184.2</forecastHeight>");
buffer.append("<forecastHeight age='15' targetHeight='181.5'>+184.2</forecastHeight>");*/
buffer.append("</forecastHeights></returns>");
return buffer.toString();
} /***
* 风险评估
*/
public String riskAssessment(String childId, String riskXml)throws RemoteException {
StringBuffer buffer=new StringBuffer();
buffer.append("<returns>");
buffer.append("<state>0</state>");
buffer.append("<shortRisk score=\"60\">6</shortRisk>");
buffer.append("<obesityRisk score=\"40\">4</obesityRisk>");
buffer.append("<precociousRisk score=\"60\">6</precociousRisk>");
buffer.append("<diseaseRisk score=\"100\">10</diseaseRisk>");
buffer.append("</returns>");
return buffer.toString();
} }

  

  

struts2结合axis开发webservice的更多相关文章

  1. 6. 使用Axis开发WebService程序

    转自:http://www.itkeyword.com/doc/7529577946427268306/Apache-Servlet-WebSOAPWebService 所谓Web Service就是 ...

  2. Axis1.4开发webservice个人笔记

    Axis1.4开发webservice SOAP 是基于 XML 的简易协议,SOAP 即Simple Object Access Protocol(简单对象访问协议),可使应用程序在 HTTP 之上 ...

  3. 【知识积累】服务器端获取客户端的IP地址(当客户端调用由Axis开发的WebService)

    一.前言 由于项目中一个小的模块需要获取客户端的IP地址以保证安全调用webservice接口,项目中客户端使用C#编写,服务器端使用Java编写,服务器端与客户端采用Axis开发的WebServic ...

  4. Java开发Webservice的组件

    参考:http://bbs.csdn.net/topics/390900831 转自:http://blog.csdn.net/dragoo1/article/details/50759222 htt ...

  5. Apache axis2 + Eclipse 开发 WebService

    yd小结注意:1.axis2的2个插件的版本必须与引入的jar包匹配,如果不同则可能报以下错误 “没有实现序列化方法”或 “org.apache.axis2.databinding.utils.wri ...

  6. Java开发WebService的几种方法--转载

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...

  7. java开发webservice的几种方式(转载)

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2方式 Axis是apache下一个开源的webservice开发 ...

  8. java开发webservice的几种方式

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...

  9. axis1.4开发webservice服务端(快速入门)-基于jdk1.4

    写在前面: 现在有很多开发webservice的方法以及框架,什么cxf等,但是这些在你编写服务类的时候都要用到注解这个功能.如果现在的jdk是1.4的,那么就不能使用注解这个功能了.所以这里可以用到 ...

随机推荐

  1. 日志分析命令awk基础用法

    awk awk是一个很好用的文本处理工具,相对于sed常用用作一整行的处理,awk则比较擅长将一行分成数个字段来处理.而在我们性能测试中,可以awk可以帮助我们造数,也可以帮助我们分析日志. 简单来说 ...

  2. 微信小程序入门四: 导航栏样式、tabBar导航栏

    实例内容 导航栏样式设置 tabBar导航栏 实例一:导航栏样式设置 小程序的导航栏样式在app.json中定义. 这里设置导航,背景黑色,文字白色,文字内容测试小程序 app.json内容: { & ...

  3. PostgreSQL EXPLAIN执行计划学习--多表连接几种Join方式比较

    转了一部分.稍后再修改. 三种多表Join的算法: 一. NESTED LOOP: 对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择.在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表 ...

  4. android代码设置EditText只输入数字、字母

     如何设置EditText,使得只能输入数字或者某些字母呢? 一.设置EditText,只输入数字: 方法1:直接生成DigitsKeyListener对象就可以了. et_1.setKeyLis ...

  5. 迭代器模式在 Java 容器中的实现

    迭代器接口是迭代器模式实现的精髓: public interface Iterator<E> { boolean hasNext(); E next(); ... } 假设某容器名为 Xx ...

  6. 使用Hydra通过ssh破解密码

    Hydra是非常高效的网络登录破解工具,它可以对多种服务程序执行暴力破解(SSH.VNC等等). 防止这种攻击其实很容易,方法很多.以SSH为例: Ubuntu:使用Port Knocking隐藏SS ...

  7. SQLmap是一款用来检测与利用SQL漏洞的注入神器。

    sqlmap 重要参考 http://www.kali.org.cn/forum-75-1.html SQLmap是一款用来检测与利用SQL漏洞的注入神器.开源的自动化SQL注入工具,由Python写 ...

  8. matlab中freqz的用法以及多项式的展开

    对于一个变量a,matlab中定义需要这样 syms a: 定义之后就可以写由变量组成的式子,比如 c=(1+a^-1)^5; 可以用expand(c) 就能把c展开成多项式,每一项的系数就可以看到. ...

  9. Spring IOC容器的初始化-(二)BeanDefinition的载入和解析

    前言 1.在讲BeanDefinition的载入和解析之前,我们先来看看什么是BeanDefinition. Bean对象在Spring中是以BeanDefinition来描述的,也就是说在Sprin ...

  10. JAMstack 技术要点

    1.  简要说明 Modern web development architecture based on client-side JavaScript, reusable APIs,and preb ...