Axis2是一個(gè)基于Java平臺(tái)的開源Web服務(wù)引擎,可以用來(lái)快速建立Web服務(wù)。其中,axis2 webservice json是使用json格式來(lái)傳遞和接收數(shù)據(jù)的一種實(shí)現(xiàn)方式。
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-json</artifactId>
<version>1.7.9</version>
</dependency>
在使用axis2 webservice json時(shí),需要在pom.xml文件中添加axis2-json依賴,通過(guò)json數(shù)據(jù)格式在客戶端和服務(wù)端之間進(jìn)行通信。
public class Axis2WebServiceJsonDemo {
public static void main(String[] args) throws Exception {
Options options = new Options();
options.setTo(new EndpointReference("http://localhost:8080/axis2/services/HelloWorldService"));
options.setProperty(MessageConstants.CHARACTER_SET_ENCODING, "UTF-8");
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
options.setProperty(Constants.Configuration.MESSAGE_TYPE, "application/json");
ServiceClient client = new ServiceClient();
client.setOptions(options);
OMElement result = client.sendReceive(JsonUtils.getJsonPayload("{\"name\":\"Tom\"}", "greeting"));
System.out.println(result);
}
}
在客戶端調(diào)用時(shí),需要設(shè)置options的消息類型為json,并使用JsonUtils來(lái)創(chuàng)建json數(shù)據(jù),在OMElement中傳遞。
public String greeting(String name) {
return "Hello " + name;
}
在服務(wù)端實(shí)現(xiàn)時(shí),將接收到的json數(shù)據(jù)進(jìn)行解析,獲取參數(shù)值,執(zhí)行對(duì)應(yīng)的方法處理。
總的來(lái)說(shuō),axis2 webservice json是一種靈活方便的實(shí)現(xiàn)方式,能夠很好地滿足現(xiàn)代Web服務(wù)中數(shù)據(jù)交換的需求。