axis2入门实例

Server:(part)

package service;

import java.util.Arrays;

import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.ServiceContext;
import org.apache.axis2.context.ServiceGroupContext;

import domain.Data;

public class Login {

public String getContainName(String[] names) {
return Arrays.toString(names);
}

public String[] getNames() {
return new String[] { "Hello", "Hi" };
}

public Data getData(Data data, String name) {
data.setDscr("Welcome: " + name);
return data;
}

public void getLogin(String key, String value) {
MessageContext mc = MessageContext.getCurrentMessageContext();
ServiceContext sc = mc.getServiceContext();
sc.setProperty(key, value);
}

public String getLoginName(String key) {
MessageContext mc = MessageContext.getCurrentMessageContext();
ServiceContext sc = mc.getServiceContext();
return (String) sc.getProperty(key);
}

public void getLogout(String key, String value) {
MessageContext mc = MessageContext.getCurrentMessageContext();
ServiceGroupContext sgc = mc.getServiceGroupContext();
sgc.setProperty(key, value);
}

}

package service;

import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.ServiceGroupContext;


public class LoginService {

public String getLoginName(String key){
MessageContext mc = MessageContext.getCurrentMessageContext();
ServiceGroupContext sgc = mc.getServiceGroupContext();
return (String)sgc.getProperty(key);
}
}

Client:(part)

package client;

import javax.xml.namespace.QName;

import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.rpc.client.RPCServiceClient;

public class ServiceClient {

public static void main(String[] args) {
try {
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
options.setTo(new EndpointReference(" http://127.0.0.1:8080/axis2/services/testContext1"));
options.setManageSession(true);
// 指定要调用的getNames方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://service","getNames");
// 调用getNames方法并输出该方法的返回值
System.out.println(serviceClient.invokeBlocking(opAddEntry, new Object[] {}, new Class[] { String[].class })[0]);

serviceClient.invokeRobust(opAddEntry, new Object[] {});
serviceClient.invokeNonBlocking(opAddEntry, null, new org.apache.axis2.client.async.AxisCallback() {

@Override
public void onComplete() {

}

@Override
public void onError(Exception arg0) {

}

@Override
public void onFault(MessageContext arg0) {

}

@Override
public void onMessage(MessageContext arg0) {

}


});
} catch (AxisFault e) {
e.printStackTrace();
}
}

}
备注: 没有axis2的相关jar包和基本war包。(推荐到官网上下载)
axis2官网: http://axis.apache.org/axis2/java/core/download.cgi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值