使用Axis2开发web服务一般有以下三种形式:
1.pojo模式,此方法最为简便,但是也有很多的局限性,最为明显的就是不能有package
step1:编写pojo对象
public class HelloWorld{
public String sayHello(String name){
return "Hello,"+name;
}
}
编译成class文件。
step2:在Tomcat目录/webapps/axis2/WEB-INF/下新建pojo文件夹。
step3:将class文件拷贝到pojo文件夹中。
setp4:启动tomcat,在浏览器中输入:
http://localhost:8080/axis2/services/HelloWorld/sayHello?
param0="ningkun"将会看到,"Hello,ningkun"的消息。
2.如果我们想以pojo的形式发布web服务,并且与package的话,可以使用jar包的形式发
布web服务。
step1:编写java类
AddressService类
package sample;
import javax.jws.WebService;
@WebService
public class AddressService {
public Address getAddress(){
Address address = new Address();
address.setStreet("Street");
address.setNumber("Number 15");
return address;
}
}
Address类
package sample;
public class Address {
private String street;
private String number;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
}
step2:修改axis2/WEB-INF/conf/axis2.xml
添加
<deployer extension=".jar" derectory="pojo" class="org.apache
.axis2.deployment.POJODeployer"/>
step3:将pojo类打包后放到pojo文件夹下。
3.用Serice文件发布web服务。
step1:编写java类,此处我们使用1中的HelloWorld类
step2:编写services.xml
<service name="HelloService">
<description>
This is a sample Web Service.
</description>
<parameter name="ServiceClass" locked="false">
HelloWorld
</parameter>
<operation name="sayHello">
<messageReceiver
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
</service>
注:messageReceiver中的class属性有多种选择,
RawXMLINOutMessageReceiver 接受参数,并有返回值
RawXMLINOnlyMessageReceiver 无返回值
4.打包aar文件
项目目录如下
HelloWorld.class
META-INF
services.xml
jar cvf HelloService.aar .
step3:
1.pojo模式,此方法最为简便,但是也有很多的局限性,最为明显的就是不能有package
step1:编写pojo对象
public class HelloWorld{
public String sayHello(String name){
return "Hello,"+name;
}
}
编译成class文件。
step2:在Tomcat目录/webapps/axis2/WEB-INF/下新建pojo文件夹。
step3:将class文件拷贝到pojo文件夹中。
setp4:启动tomcat,在浏览器中输入:
http://localhost:8080/axis2/services/HelloWorld/sayHello?
param0="ningkun"将会看到,"Hello,ningkun"的消息。
2.如果我们想以pojo的形式发布web服务,并且与package的话,可以使用jar包的形式发
布web服务。
step1:编写java类
AddressService类
package sample;
import javax.jws.WebService;
@WebService
public class AddressService {
public Address getAddress(){
Address address = new Address();
address.setStreet("Street");
address.setNumber("Number 15");
return address;
}
}
Address类
package sample;
public class Address {
private String street;
private String number;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
}
step2:修改axis2/WEB-INF/conf/axis2.xml
添加
<deployer extension=".jar" derectory="pojo" class="org.apache
.axis2.deployment.POJODeployer"/>
step3:将pojo类打包后放到pojo文件夹下。
3.用Serice文件发布web服务。
step1:编写java类,此处我们使用1中的HelloWorld类
step2:编写services.xml
<service name="HelloService">
<description>
This is a sample Web Service.
</description>
<parameter name="ServiceClass" locked="false">
HelloWorld
</parameter>
<operation name="sayHello">
<messageReceiver
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
</service>
注:messageReceiver中的class属性有多种选择,
RawXMLINOutMessageReceiver 接受参数,并有返回值
RawXMLINOnlyMessageReceiver 无返回值
4.打包aar文件
项目目录如下
HelloWorld.class
META-INF
services.xml
jar cvf HelloService.aar .
step3: