webservice简单实例

服务端配置和文件结构:

1.配置参数有两个文件进行配置web.xml和自定义的xml文件。

2.web.xml配置如下:

加载相应的服务功能驱动。


3.server-config.wsdd配置如下:

功能为客户端提供接口和连接方式,声明配置信息。

<?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">  

<globalConfiguration>
  <parameter name="sendMultiRefs" value="true"/>
  <parameter name="disablePrettyXML" value="true"/>
  <parameter name="dotNetSoapEncFix" value="true"/>
  <parameter name="enableNamespacePrefixOptimization" value="false"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="sendXsiTypes" value="true"/>
  <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
</globalConfiguration>

  <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>   
  <service name="Login.jws" provider="java:RPC">   
     <parameter name="className" value="server.SayHello"/>
     <parameter name="scope" value="request"/>
     <parameter name="allowedMethods" value="*"/>
     <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
  </service>   
  <transport name="http">   
     <requestFlow>   
        <handler type="URLMapper"/>   
     </requestFlow>   
  </transport>   
</deployment>
4.实际的方法处理实现类

package server;

public class SayHello {
	 public String getName(String name) {  
	        return "hello====>" + name;  
	    }  
}

需要的对应jar包集;

http://download.csdn.net/download/hanjiancanxue_liu/6520159

*****************************************

客户端编程需要的实现方式:

1.这里并不需要过多的配置也就是加入相应的jar包,并使用http协议实现相应的服务连接和调用传值。

package client;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class TestClient {

	public static void main(String[] args) throws Exception {

		// 指出service所在URL     

		String endpoint = "http://127.0.0.1:8765/Webservice/services/Login.jws";

		// 创建一个服务(service)调用(call)     

		Service service = new Service();

		Call call = (Call) service.createCall();// 通过service创建call对象     

		// 设置service所在URL     

		call.setTargetEndpointAddress(new java.net.URL(endpoint));

		// 方法名(processService)与MyService.java方法名保持一致     

		call.setOperationName("getName");

		// Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)     

		String ret = (String) call.invoke(new Object[] { "继中" });

		System.out.println("返回: "+ret);

	}

}

这里的客户端项目调用可以是java项目也可以是web项目,但是注意的是java项目需要加入javaee的核心包以供另外需要加入的包集如下。

axis.jar,commons-discovery-0.2.jar,commons-logging-1.0.4.jar

这些包都在上面的链接中下载中的一部分。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值