您的位置:首页 > 其它

如何使用Axis发布WebService

2016-09-11 15:18 363 查看
一、发布前准备

准备发布一个webservcie服务,需要准备以下依赖jar包



二、创建web项目

可以创建一个简单的web项目,用于发布webservcie,本文略

三、相关配置

1)web.xml配置如下

<!-- ********************************************** -->

<!-- WebService核心处理类
-->

<servlet>

<servlet-name>AxisServlet</servlet-name>

<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>

</servlet>

 

<servlet-mapping>

<servlet-name>AxisServlet</servlet-name>

<url-pattern>/services/*</url-pattern>

</servlet-mapping>

<!-- ********************************************** -->

2)创建一个service-config.wsdd文件,用于配置需要发布的webservice方法

<?xml version="1.0" encoding="UTF-8"?>

<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="firstWs" provider="java:RPC">

<parameter name="className" value="com.ws.demo.FirstWsImpl" />

<parameter name="allowedMethods" value="*" />

</service>

 

<transport name="http">

<requestFlow>

<handler type="URLMapper" />

</requestFlow>

</transport>

</deployment>

四、项目完整文件图



五、运行及测试

1)访问:http://localhost:8080/wsclient/services,即可看到发布的webservice服务

2)测试

String
wsurl = "http://localhost:8080/wsclient/services/firstWs?wsdl";

try {

Service service = new Service();

Call call = (Call)service.createCall();

call.setTargetEndpointAddress(new URL(wsurl));

call.setOperationName("list");

String result = (String)call.invoke(new Object[]{"张三",20});

System.out.println(result);

} catch (MalformedURLException
e) {

// TODO Auto-generated catch block
e.printStackTrace();

} catch (RemoteException
e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (ServiceException
e) {

// TODO Auto-generated catch block

e.printStackTrace();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息