使用axis1.4编写Webservice入门
使用axis1.4生成客户端调用web service的大概步骤如下:
public class HelloService { public int add(int a,int b){ return a+b; } public String sayHello(String name){ System.out.println("hello :"+name); return "hello"+name; } public boolean saveEmp(Employee emp){ System.out.println("empName:"+emp.getEmpName()); /** * 可获取连接,执行保存数据操作.(省略) */ return true; } public boolean saveEmp(Employee[]emp){ for(int i=0;i<emp.length;i++){ System.out.println(emp[i].getEmpName()); } return true; } ? 3.配置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="E:apache-tomcat-6.0.29webappstestWEB-INFattachments"/> <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="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> </service> <service name="Version" provider="java:RPC"> <parameter name="allowedMethods" value="getVersion"/> <parameter name="className" value="org.apache.axis.Version"/> </service> <service name="HelloService" provider="java:RPC"> <parameter name="allowedMethods" value="*"/> <parameter name="className" value="com.lee.webservice.HelloService"/> <typeMapping xmlns:ns2="http://xml.apache.org/axis/wsdd/" qname="ns2:Employee" type="java:com.shich.test.Employee" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </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> 4.生成客户端 set Axis_Lib=d:axis-1_4lib set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% set Output_Path=E: set Package=com.client.test %Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http://127.0.0.1:8081/test/services/HelloService?wsdl ?此时会生成 HelloService_PortType 5编写客户端测试代码 ?public static void main(String[] args) throws ServiceException,MalformedURLException,RemoteException {????HelloServiceService service=new HelloServiceServiceLocator();??Employee emp=new Employee();??emp.setEmpName("jack");??service.getHelloService().saveEmp(emp);???}} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |