java即时发布webservice

来源:互联网 发布:阿里云学生认证 高中生 编辑:程序博客网 时间:2024/05/22 11:44
即时发布 JWS (Java Web Service) Files - Instant Deployment    

    即时发布提供了一种非常简单发布方式,发布者只要有Java源代码(也就是.java文件),然后把其后缀名改成jws(也就是 java web service的缩写)拷贝到%TOMCAT_HOME%\webapps\axis目录下即完成了所有的发布工作。AXIS的编译引擎会处理接下来的所有事情。下面是一段示例代码:

java 代码
    public class HelloAXIS {                      public String Hello(String name){               return "AXIS say hello to " + name;           }       }   

        把 HelloAXIS.java 文件改成 HelloAXIS.jws 然后拷贝到%TOMCAT_HOME%\webapps\axis目录下,启动Tomcat之后访问http://localhost:8080/axis/HelloAXIS.jws 如果能看到 Click to see the WSDL这个超链接就说明已经发布成功了,点击进去就可以看到这个Webservice的WSDL描述文件。server端的发布已经完成了,接下来就是编写Client端测试代码了。

java 代码
    package com.chnic.test;             import java.net.URL;             import javax.xml.namespace.QName;             import org.apache.axis.client.Call;       import org.apache.axis.client.Service;             public class Test {                      public static void main(String[] args) throws Exception{               String targetEendPoint = "http://localhost:8080/axis/HelloAXIS.jws";               Service service = new Service();               Call call = (Call) service.createCall();                           call.setOperationName(new QName(targetEendPoint, "Hello"));               call.setTargetEndpointAddress(new URL(targetEendPoint));               String result = (String) call.invoke(new Object[]{"Robert"});               System.out.println(result);           }       }    
 

       测试代码很简单,如果熟悉java反射机制的朋友不用两分钟就能看明白。运行后客户端控制台出现 AXIS say hello Robert。测试成功。果然很简单吧。不过在这简单背后却是以牺牲灵活性为代价的。假如你现在手里只有.class 或者一个jar包,jws就不再能满足你的需求了,最要命的就是即时发布不支持带包的类,这点AXIS的用户手册上写的也很明白。

0 0