加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice简单实例

发布时间:2020-12-17 00:01:04 所属栏目:安全 来源:网络整理
导读:服务端配置和文件结构: 1.配置参数有两个文件进行配置web.xml和自定义的xml文件。 2.web.xml配置如下: 加载相应的服务功能驱动。 3.server - config.wsdd配置如下: 功能为客户端提供接口和连接方式,声明配置信息。 ?xml version="1.0" encoding="UTF-8"?

服务端配置和文件结构:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读