第一步:引入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. LeetCode OJ:Ugly Number(丑数)

    Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers ...

  2. git远程分支回退

    [本地代码回退] git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除 git reset --hard HEAD~3:将 ...

  3. Scikit-Learn:开源的机器学习Python模块(转载)

    摘要: scikit-learn是一个用于机器学习的Python模块,其具有操作简单.效率高.无访问限制.BSD开源协议等等特征,在机器学习这一块是比较受欢迎的. scikit-learn是一个用于机 ...

  4. SVG 总结

    //文件名:11.svg<?xml version="1.0" encoding="UTF-8" ?> <!--XML NameSpace:名 ...

  5. C 时间函数总结

    头文件 time.h 处理器时间函数 clock_t clock(void) 处理器的处理时间,如可以在 main开始的地方 使用这个函数,然后再 完毕后 调用这个函数 并 减去 之前的返回值,为了 ...

  6. (七)java转译字符与连接字符串

    转义字符:通过“\”来改变后面字符的意义 \n空格 \t相当于table键 \b相当于回退 class Zyzf { public static void main(String[] args) { ...

  7. CodeForces - 662A:Gambling Nim (求有多少个子集其异或为S)(占位)

    As you know, the game of "Nim" is played with n piles of stones, where the i-th pile initi ...

  8. Python使用教程

    1.下载python windows:http://www.python.org/download/ 2.环境变量: 3.pycharm下载:http://www.python.org/downloa ...

  9. 【java规则引擎】规则引擎RuleBase中利用观察者模式

    (1)当RuleBase中有规则添加或删除,利用观察者模式实现,一旦有变动,规则引擎其他组件也做出相应的改变.(2)学习思想:当一个应用中涉及多个组件,为了实现易扩展,解耦思想.可以利用观察者模式实现 ...

  10. NOIP2013 DAY2题解

    DAY2 T1积木大赛 传送门 题目大意:每次可以选区间[l,r]加1,最少选几次,让每个位置有 它应有的高度. 题解:O(n)扫一遍就好了.后一个比前一个的高度低,那么前一个已经把它覆盖了, 如果高 ...