我最近学习axis2 发现,每当我要发布一个web服务,都要打包,然后拷贝到tomcat下的axis2/WEB-INF/service目录下去,这样太费劲了
我想知道的是可不可以就像开发普通的web应用一样在myeclipse里开发,这样一部署就完事了而不用拷贝打包!
我知道axis1是可以的,只不过这个axis2应该也可以吧?要怎么整呢 

解决方案 »

  1.   

    如果纯属从技术角度讲,建议你学习CXF。这个是最新的java Webservice框架,而且jdk1.6之后自带了发布Webservice的实现。楼主可以查查相关资料,没有解决你的问题,纯属知识交流,呵呵呵。
      

  2.   

    axis2 与现有的项目集成其实也很容易的。
      

  3.   

    第一步 复制axis2.war中lib文件下所有的jar至你的项目中。
    第二步 复制axis2.war中axis2-web文件到自己项目WebRoot文件下。
    第三步 在该项目中web.xml文件编写:<servlet>    
        <servlet-name>AxisServlet</servlet-name>    
        <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>    
        <load-on-startup>1</load-on-startup>    
    </servlet>         
    <servlet-mapping>    
               <servlet-name>AxisServlet</servlet-name>    
               <url-pattern>/services/*</url-pattern>    
    </servlet-mapping>
    第四步 在src文件下建立一个包example(可随意取),再建立一个类MyService. java
           (我的项目中是使用axis2 soap 客户端与web通信的、)
    代码如下: public OMElement sayHello(OMElement in){ String name=in.getText(); String info=name+"HelloWorld!"; OMFactory fac=OMAbstractFactory.getOMFactory(); OMNamespace omNs=fac.createOMNamespace("http://helloworld.com/","hw"); OMElement resp=fac.createOMElement("sayHelloResponse",omNs); resp.setText(info); return resp; }
    第五步 在WEB-INF文件下建立一个services文件夹。services文件夹里建立一个META-INF文件再继续往下添加一个services.xml
          配置是这样:<service name="soapService">  
                  <description>
    This is a service Web Service.
    </description>
    <parameter name="ServiceClass" locked="false">example.myService</parameter>//这里是指客户端要访问的类。也就是src文件下的定义的类
    <operation name="sayHello">//这里是指要访问的方法。
    <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
    </operation>
           </service> 
    最后一步是测试部署成功了。http://localhost:8080/xxx/services/listService
    如果该页面中显示 soapService  点击会跳转一个wsdl页面证明已经集成成功了。
    (说得很乱七八糟,其实网上也很多例子。)