我最近学习axis2 发现,每当我要发布一个web服务,都要打包,然后拷贝到tomcat下的axis2/WEB-INF/service目录下去,这样太费劲了
我想知道的是可不可以就像开发普通的web应用一样在myeclipse里开发,这样一部署就完事了而不用拷贝打包!
我知道axis1是可以的,只不过这个axis2应该也可以吧?要怎么整呢
我想知道的是可不可以就像开发普通的web应用一样在myeclipse里开发,这样一部署就完事了而不用拷贝打包!
我知道axis1是可以的,只不过这个axis2应该也可以吧?要怎么整呢
第二步 复制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页面证明已经集成成功了。
(说得很乱七八糟,其实网上也很多例子。)