学习webservice
来源:互联网 发布:tomcat8w java options 编辑:程序博客网 时间:2024/05/17 01:56
AXIS到appach的官网。就可以下到,顺便把源码也下了,对学习和调试很有帮助。 http://www.apache.org/dyn/closer.cgi/ws/axis/1_4 mail.jar(这个不知道是不是必须的) http://java.sun.com/products/javamail/javamail-1_1_3.html
还有tomcat就不用说了
将axis-bin-1_4的axis-1_4webapps目录下的axis包拷贝到tomcat的web发布目录下(一般是webapps)。
将Activation.jar(在axis的源码包内可以找到),mail.jar,tools.jar(在jdk的目录下可以找到)。拷贝到发布在tomcat下的axis的WEB-INFlib下。
准备工作基本完成。
测试连接http://localhost:8080/axis/ 点击Validate 如果Needed Components下全部是found基本就没问题了。
写一个简单的例子
public class HelloWorld {
public String sayHello(String name) {
return "Hello " + name+" welcome to Webservice ";
}
}
方法1 最简单的测试方法,将这个。java文件拷贝到axis目录下,
然后再测试连接http://localhost:8080/axis/HelloWorld.jws
就可以了。
方法2 还有就是比较通用的将编译过的class文件拷贝到axisWEB-INFclasses。
编写一个wsdd deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="HelloWorld" provider="java:RPC">
<parameter name="className" value="HelloWorld"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
将deploy.wsdd拷贝到 axisWEB-INF目录下,
设置环境变量
AXIS_HOME 即axis-bin-1_4.zip解压的目录(我的是在F/:soapaxis-1_4) AXIS_LIB 即 %AXIS_HOME%lib AXISCLASSPATH 即 %AXIS_LIB%axis.jar;%AXIS_LIB%commons-discovery-0.2.jar;%AXIS_LIB%commons-logging-1.0.4.jar;%AXIS_LIB%jaxrpc.jar;%AXIS_LIB%saaj.jar;%AXIS_LIB%log4j-1.2.8.jar;也就是把%AXIS_LIB%下所用JAR文件都导入 在axisWEB-INF目录下运行如下命令 java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd 出现 Processing file deploy.wsdd<Admin>Done processing</Admin>表示部署成功。这时在axisWEB-INF目录下会多一个server-config.wsdd的部署文件。以后就不需要写deploy.wsdd了直接修改对应的server-config.wsdd就可以了。 测试地址http://localhost:8080/axis/servlet/AxisServlet 可以看到发布的服务和可用的方法。 再写一个通信的cilent。 import java.net.MalformedURLException;import java.net.URL;import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call;import org.apache.axis.client.Service;public class HelloWorldClient { public String client(String str) throws ServiceException, MalformedURLException, RemoteException { String serviceSet = "http://localhost/:8080/axis/HelloWorld.jws";//指定服务的位置, 使用于方法1 //或者使用下面的方法, serviceSet = "http://localhost:8080/axis/services/HelloWorld";//使用于方法2 Service service = new Service();// 创建service实例 try { Call call = (Call) service.createCall();// 创建call、 call.setTargetEndpointAddress(new URL(serviceSet));// 设置call服务的URL call.setOperation("sayHello");// 为call设置对应的方法 String re = (String) call.invoke(new Object[] {str}); return re; } catch (ServiceException e) { e.printStackTrace(); throw e; } catch (MalformedURLException e) { e.printStackTrace(); throw e; } catch (RemoteException e) { e.printStackTrace(); throw e; } } } junit测试 import static org.junit.Assert.*; import java.net.MalformedURLException;import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; import org.junit.Test; public class HelloWorldClientTest { /** * Test method for {@link HelloWorldClient#client(java.lang.String)}. */ @Test public void testClient() { HelloWorldClient client = new HelloWorldClient(); try { String str = "strom"; String re = client.client(str); System.out.println(re); assertEquals("Hello " + str +" welcome to Webservice ", re); } catch (MalformedURLException e) { fail("Not yet implemented"); } catch (RemoteException e) { e.printStackTrace(); fail("Not yet implemented"); } catch (ServiceException e) { fail("Not yet implemented"); } } }
- WebService学习
- Webservice 学习
- 学习webservice
- WebService学习
- WebService学习
- webservice 学习
- WebService学习
- Webservice学习
- webservice学习
- webservice学习
- webservice 学习
- webservice学习
- webService学习
- WebService 学习
- webservice学习
- Webservice学习
- WEBService学习
- webservice 学习
- 到2004年Java技术发展预测
- C# 将文件加载到内存
- 写个游戏?
- JSP的基本组件
- 即时战略游戏将领指挥人工智能方案设想
- 学习webservice
- vc++编程里堆和栈的区别
- 多文件上传技术详解
- JAVA真的输了吗?
- 几种常见的数据库连接方法
- Java Q&A: 使用Observer模式
- TOMCAT+JIVE的安装配置(支持中文)
- 用Java编写ASP组件
- Heritrix架构学习笔记(一)