axis

来源:互联网 发布:阿里云上传自己镜像 编辑:程序博客网 时间:2024/06/09 14:28
服务端:
1、axis读取services.xml的默认路径为:
 
(1)web.xml的内容为:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  
  <display-name>soapTest</display-name>
  <servlet>
    <servlet-name>AxisServlet</servlet-name>
    <servlet-class>
  org.apache.axis2.transport.http.AxisServlet
  </servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
</web-app>


(2)services.xml的内容为:
<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
 <service name="userService">
<parameter name="ServiceClass">
com.chen.ws.UserService
</parameter>

<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>
</service>
</serviceGroup>


(3)访问的url为:假设项目 部署在本地的tomcat下:中
url:http://localhost:8080/工程名/web.xml中<servlet-mapping > 中<url-pattern >的值/services.xml中<service >中<name >的值?wsdl
例:http://localhost:8080/soapTest/services/userService?wsdl   
(4)服务端代码
public class UserService {
public User getUser(int userId ,String userName){
User user=new User();
user.setUserId(userId);
user.setUserName(userName);
return user;
}

public String deleteUser(User u){
System.out.println("用户"+u.getUserId()+":"+u.getUserName()+"删除成功");
return "用户删除成功";

}


客户端:

1、配置系统环境变量
AXIS_HOME:E:\study\Java\axis\axis2-1.6.1-bin\axis2-1.6.1
AXIS_LIB: %AXIS_HOME%/lib
path: %AXIS_HOME%/bin; 


2、运行cmd
到F:\study\Java\axis\axis2-1.6.1-bin\axis2-1.6.1\bin目录下,执行wsdl2java.bat -uri http://localhost:8080/soapTest/services/userService?wsdl -o E:/resource 命令,其中


wsdl2java.bat -uri http://localhost:8080/soapServer/services/userService?wsdl -o E:/resource
-uri:soap对应服务wsdl的访问地址;
-o:指定代码生成的路径。
如下:
 


3、访问服务端代码:
public static void main(String[] args) throws RemoteException {
UserServiceStub stub = new UserServiceStub();
UserServiceStub.GetUser getUser = new UserServiceStub.GetUser();
getUser.setUserId(1);
getUser.setUserName("chenxiang");
System.out.println(stub.getUser(getUser).get_return().getUserId());
System.out.println(stub.getUser(getUser).get_return().getUserName());

System.out.println("============================");

UserServiceStub.DeleteUser delUser =new UserServiceStub.DeleteUser();
UserServiceStub.User user = new UserServiceStub.User();
user.setUserId(1);
user.setUserName("chenxiang");
delUser.setU(user);
System.out.println(stub.deleteUser(delUser).get_return());
}

0 0