Web Services Axis实现

[color=olive][size=x-large]1、下载 apache axis:[/size][/color]
[url]http://apache.etoak.com/ws/axis/1_4/[/url]
[color=olive][size=x-large]2、搭建环境:[/size][/color]
[size=large]新建一个Web项目TestWebServices
把axis-1_4\lib下的所有jar包copy到TestWebServices项目的lib项目下。
把axis-1_4\webapps\axis\WEB-INF下的Web.xml文件复制替换TestWebServices项目的Web.xml文件。
发布工程到TOMCAT里
访问
http://localhost:8080/TestWebServices/services或者
http://localhost:8080//servlet/AxisServlet
只要能出现下图 所示[/size]
[img]
[img]http://dl.iteye.com/upload/attachment/0076/4714/a75ac907-9852-3742-992f-44dc3dbab53f.bmp[/img]
[/img]
说明第一步环境搭建成功,接下来进行Web Services的核心配置。
[color=olive][size=x-large]3、用deploy.wsdd生成server-config.wsdd:[/size][/color]
[size=large]在TestWebServices项目的WEB-INF目录下编写deploy.wsdd文件
文件模板如下:[/size]

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java=
"http://xml.apache.org/axis/wsdd/providers/java">
<service name="AxisDemo" provider="java:RPC">
<parameter name="className" value="com.server.AxisDemo"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="session"/><!-- request, session, or application -->
</service>
</deployment>

[size=large]根据模板中定义Class,建立一个AxisDemo的类放在包com.server下
AxisDemo类java代码如下:[/size]

package com.common;

public class AxisDemo {
public String getInfo(String aa){
return "webservice:"+aa;
}
}

[size=large]用cmd进入TestWebServices项目的WEB-INF目录下Copy下面的代码到cmd窗口 回车执行[/size]

java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://127.0.0.1:8080/TestWebServices/servlet/AxisServlet deploy.wsdd

[size=large]提示如下图表示成功:[/size]
[img]http://dl.iteye.com/upload/attachment/0076/4716/225b117a-1828-3d7b-afc7-6d76a478867f.bmp[/img]
[size=large] 进入TomCat的TestWebServices\WEB-INF目录下可以看到server-config.wsdd已经生成。它是提供给Axis使用的配置文件。 如果没有生成请重复1,2,3
这时在访问http://localhost:8080/TestWebServices/services
[/size]
[img]http://dl.iteye.com/upload/attachment/0076/4765/e6a2ef3f-4d9c-3346-a5bc-aa0227ae9534.bmp[/img]
[size=large]会发现多了一个AxisDemo(wsdl) 尝试进行访问:
http://localhost:8080/TestWebServices/services/AxisDemo?wsdl.[/size]
[color=olive][size=x-large]4、编写客户端调用代码测试web services[/size][/color]

package com.client;
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 TestClient {

public static void main(String[] arg) throws MalformedURLException,
ServiceException, RemoteException {

String targetEndPoint = "http://127.0.0.1:8080/TestWebServices/services/AxisDemo";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(targetEndPoint));
call.setOperationName("getInfo");
String result = (String) call.invoke(new Object[] { new String("zhangsan@126.cn") });
System.out.println("result=" + result);
}
}

运行看到控制台输出:result=webservice:zhangsan@126.cn
成功。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值