axis1 创建service服务端 , axis1 客户端
2013-06-03 22:37
253 查看
axis1 服务端配置
1、首先建立一个项目 axisTest 不需多说
2、在lib下放入需要的jar包 点击下载 :axis所需的jar包下载
3、然后需要在web.xml里面加入:
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>
org.apache.axis.transport.http.AxisServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
4、创建服务端的代码:
package com.service;
public class myService {
public String getusername(String name){/**用spring的时候需要添加你要注入的bean
baseTransaction = (BaseTransaction) getApplicationContext().getBean("baseTransaction")**/
return "Hello "+name+",this is an Axis Web Service";
}
}
5、在WEB-INF下创建service-config.wsdd 文件,内容如下:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>
<service name="myService" provider="java:RPC">
<!--这里的name是你的service名字 访问的时候要用得着的-->
<parameter name="className" value="com.service.myService"/>
<!--这里的value是你所提供的的供外部访问的方法所在的类-->
<parameter name="allowedMethods" value="getusername"/>
<!--供外部访问的方法-->
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
</requestFlow>
</transport>
</deployment>
6、启动tomcat 访问地址:http://localhost:8080/axisTest/servlet/AxisServlet
axis1 客户端调用
package com.axistest;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class myServiceTestorByWSDD {
public static void main(String[] args) throws ServiceException,MalformedURLException, RemoteException {
/**假如访问的时候有spring注入的情况 则需要 添加
baseTransaction = (BaseTransaction) getApplicationContext().getBean("baseTransaction"); 来获取spring的注入信息。实在service层添加的。**/
String endpoint = "http://localhost:8080/axisTest/services/myService";
Service service = new Service(); // 创建一个Service实例,注意是必须的!
Call call = (Call) service.createCall(); // 创建Call实例,也是必须的!
call.setTargetEndpointAddress(new java.net.URL(endpoint));// 为Call设置服务的位置
call.setOperationName("getusername"); // 注意方法名与JavaBeanWS.java中一样!!
String res = (String) call.invoke(new Object[] { "邹萍" }); // 返回String,传入参数
System.out.println(res);
}
}
1、首先建立一个项目 axisTest 不需多说
2、在lib下放入需要的jar包 点击下载 :axis所需的jar包下载
3、然后需要在web.xml里面加入:
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>
org.apache.axis.transport.http.AxisServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
4、创建服务端的代码:
package com.service;
public class myService {
public String getusername(String name){/**用spring的时候需要添加你要注入的bean
baseTransaction = (BaseTransaction) getApplicationContext().getBean("baseTransaction")**/
return "Hello "+name+",this is an Axis Web Service";
}
}
5、在WEB-INF下创建service-config.wsdd 文件,内容如下:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>
<service name="myService" provider="java:RPC">
<!--这里的name是你的service名字 访问的时候要用得着的-->
<parameter name="className" value="com.service.myService"/>
<!--这里的value是你所提供的的供外部访问的方法所在的类-->
<parameter name="allowedMethods" value="getusername"/>
<!--供外部访问的方法-->
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
</requestFlow>
</transport>
</deployment>
6、启动tomcat 访问地址:http://localhost:8080/axisTest/servlet/AxisServlet
axis1 客户端调用
package com.axistest;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class myServiceTestorByWSDD {
public static void main(String[] args) throws ServiceException,MalformedURLException, RemoteException {
/**假如访问的时候有spring注入的情况 则需要 添加
baseTransaction = (BaseTransaction) getApplicationContext().getBean("baseTransaction"); 来获取spring的注入信息。实在service层添加的。**/
String endpoint = "http://localhost:8080/axisTest/services/myService";
Service service = new Service(); // 创建一个Service实例,注意是必须的!
Call call = (Call) service.createCall(); // 创建Call实例,也是必须的!
call.setTargetEndpointAddress(new java.net.URL(endpoint));// 为Call设置服务的位置
call.setOperationName("getusername"); // 注意方法名与JavaBeanWS.java中一样!!
String res = (String) call.invoke(new Object[] { "邹萍" }); // 返回String,传入参数
System.out.println(res);
}
}
相关文章推荐
- Axis创建webservice客户端和服务端
- Axis创建webservice客户端和服务端
- 创建ROS服务端(service)和客户端(client)
- Java WebService Axis 实例(客户端+服务端)
- 使用axis技术创建webservice(服务端+客户端)
- Axis创建webservice客户端和服务端
- Axis创建webservice客户端和服务端
- 使用Eclipse自带的Axis1插件生成Web Service服务端/客户端
- 创建axis-service-archiver时遇到的各种问题
- Apache Axis1.4 Web Service客户端、服务端生成及服务部署(备忘)
- cocos2dx3.x利用sokcet创建客户端和服务端 (三)
- 基于Axis服务端的webservice客户端实现
- 传递、返回复杂类型的对象(axis服务端/axis客户端)
- 通过eclipse 的axis1插件,快速开发webservice服务端和客户端
- axis1由wsdl生成客户端和服务端1
- DelphiXE7中创建WebService(服务端+客户端) good
- Java创建WebService服务端及客户端
- 黑马程序员 【】java学习之路——TCP客户端和服务端的创建
- 使用axis2创建webservice步骤以及客户端调用service服务代码
- 基于Socket的TCP长连接(服务端Java+客户端Android),Service配合AIDL实现