微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

axis2 实现webservice

例子:

在eclipse中,创建一个web工程。添加服务类。

package server;

import com.common.User;

public class MyServer {
 public String getName(String name){
  return name;
 }
 
 public User getUser(User user)
 {
  User u = new User();
  u.setUserName(user.getUserName() + " gilbert wang");
  
  return u;
 }
}

 

meta-inf文件夹下,添加文件,services.xml

<service name="MyService" scope="application">
    <description>
        this is a test
    </description>
    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
                         class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
                         class="org.apache.axis2.rpc.receivers.RPcmessageReceiver"/>
    </messageReceivers>
    <parameter name="ServiceClass">server.MyServer</parameter>
</service>

 

export为jar,重命名为*.aar文件

 

例子:

package client;


import javax.xml.namespace.QName;

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

import com.common.User;


public class TestClient {
 @SuppressWarnings("rawtypes")
 public static void main(String[] args) {
  String urlString = "http://127.0.0.1:8080/axis2/services/MyService";
  
  try{
   
   QName qname=new QName("http://server","getUser");
   RPCServiceClient client=new RPCServiceClient();
   Options options = client.getoptions();
   options.setTo(new EndpointReference(urlString));
   
   User u = new User();
   u.setUserName("wanhan!!!");
   Object[] objects = new Object[]{u};
   Class[] clazz = new Class[]{User.class};
   User user = (User)client.invokeBlocking(qname,objects,clazz)[0];
   System.out.println(user.getUserName());
  }catch (Exception e) {
   e.printstacktrace();
  }
 }
}

 

输出

wanhan!!! gilbert wang

 

 

【注】当然也可以通过axis自动生成客户端程序。

eclipse 插件生成webservice

参考:

http://wenku.baidu.com/view/d2dd75176edb6f1aff001ff1.html

http://wenku.baidu.com/view/a0d47b3fee06eff9aef8071f.html

http://www.cnblogs.com/skyme/archive/2010/10/26/1861110.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐