AXIS和AXIS2开发web服务

    技术2022-05-12  13

    http://www.blogjava.net/nokiaguy/archive/2009/01/02/249556.html

     

     

     

    时隔一年后,又开始做SOA,照着下面这个例子做总是无法自动生成。原因是我一开始并没有tomcat,后来装好后还是不行,看了网上一个帖子说,要把tomcat移除了重新再add就可以了,于是照着做了,果然好了。折腾了好久。。。。

     

    点Window-preference-server—runtime environments,选中apache tomcat v6.0,然后进行remove和add操作。

     

    http://wiki.eclipse.org/Creating_a_Bottom-Up_Java_Web_Service

     

    其核心就是写一个简单的java类,然后点右键点create web service;按照步骤点好了后,可以看到在Webcontent的wsdl目录里生成了Converter.wsdl文件,右击该文件可以发布、生成客户端等。

     

    生成客户端时,在弹出的画面中,点击Client Project:***,改为***Client,要不然就把你建的***服务端的代码覆盖了。eclipse会自动重新创建一个project叫***Client,然后创建一个测试类:

     

    import java.rmi.RemoteException;

    public class Test {

     /**  * @param args  * @throws RemoteException   */ public static void main(String[] args) throws RemoteException {  // TODO Auto-generated method stub

      //Converter c = new ConverterProxy("http://***.***.**.***:8080/WS1/services/Converter/"); //It doesn't work.  Converter c = new ConverterProxy("htthttp://***.***.**.***:8080WS1/services/Converter"); //It works.  //Converter c = new ConverterProxy();  //It works.  float f = 100;  System.out.println(c.celsiusToFarenheit(f));   }

    }

     

    注意:http://***.***.**.***:8080/WS1/services/Converter/是在文件ConverterServiceLocator中的下面发现的:

     

    private java.lang.String Converter_address = "http://localhost:8080/WS1/services/Converter";

     

    好像有时候并不一定时8080端口,所以要到ConverterServiceLocator查看一下确认。

     

     

     

    http://www.eclipse.org/webtools/jst/components/ws/M3/tutorials/TopDownWebService.html

     

    按照上述流程做完后,如果需要做客户端,请执行下面的操作

     

    import java.rmi.RemoteException;

    public class Test {

     /**  * @param args  * @throws RemoteException   */ public static void main(String[] args) throws RemoteException {  // TODO Auto-generated method stub

      AreaService_PortType as = new AreaServiceProxy("http://localhost:8080/TopDownWS/services/AreaServiceSOAP");  System.out.println(as.calculateRectArea(new Dimensions(10,20))); }

    }


    最新回复(0)