MyEclipse 下开发Java webService 和 Java webClient 的一个完整回调列子

原创 2015年07月10日 12:05:18

今天工作之余有时间整理下前段时间自己写的webService 和 webClient。(MyEclipse,webService:XFire;webClient:Axis) ,步骤如下:

1. MyEclipse 新建Web  Service Project ,项目名称:  ServiceServer如下图


2.点击Next,一直到下图,选择如下:


3.在ServiceServer下新建接口名ServiceInterface和对应接口实现类ServiceMain,工程目录结构如下图:


4.ServiceInterface.java 代码如下:

package com.jyz.service;

public interface ServiceInterface {
	public String testService(Integer val1,Double val2,String val3);
}

5.SerivceMain.java的代码如下:

package com.jyz.service;

public class ServiceMain implements ServiceInterface{

	public String testService(Integer val1,Double val2,String val3) {//注意传递参数的封装类型要对应
		String result="No Values!!!";
		try {
	    	System.out.println("From Client Param[val1="+val1+";val2="+val2+";val3="+val3+"]");
	    	result="Response To Client Param[val1="+val1+";val2="+val2+";val3="+val3+"]";
		} catch (Exception e) {
			e.printStackTrace();
		}
    	return result;
    }
}
6.services.xml文件配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
    <name>serviceMain</name><!-- 服务名称 -->
    <namespace>com.jyz.service/serviceMain</namespace><!-- 指定命名空间 -->
    <serviceClass>com.jyz.service.ServiceInterface</serviceClass><!-- 指定服务的接口 -->
    <implementationClass>com.jyz.service.ServiceMain</implementationClass><!-- 指定接口的实现类 -->
  </service>
</beans>
7.到此Web Service Project编码实现结束可以部署到tomcat运行,部署端口为8080在浏览器中输入连接
http://127.0.0.1:8080/ServiceServer/services/serviceMain?wsdl
,成功显示如下图,则运行成功。

 <img src="http://img.blog.csdn.net/20150710143048769?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

8. MyEclipse 新建Java Project 工程名:SerivceClinet,如下图:

9.新建类:ClientMain,工程目录结构如下以及涉及的jar包如下(jar打包在我的资源下):


10.ClientMain 代码如下:

package com.jyz.client;

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

public class ClientMain {
	private static void clientRequest(){
		String result="";
		try {
			String endpoint = "http://127.0.0.1:8080/ServiceServer/services/serviceMain" ; //Server的连接 
			Service service = new Service() ;  
			Call call = (Call) service.createCall() ;  
			call.setTargetEndpointAddress(endpoint) ;  
			call.setOperationName("testService") ;//ServiceServer中方法名
			call.setEncodingStyle("http://127.0.0.1:8080/ServiceServer/services/serviceMain?wsdl");
			call.addParameter("val1",org.apache.axis.encoding.XMLType.XSD_INTEGER,javax.xml.rpc.ParameterMode.IN) ;  
			call.addParameter("val2",org.apache.axis.encoding.XMLType.XSD_DOUBLE,javax.xml.rpc.ParameterMode.IN) ;
			call.addParameter("val3",org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN) ;
			call.setReturnType(XMLType.XSD_STRING) ;  
			call.setUseSOAPAction(true) ;  
			Object[] obs=new Object[3];
			obs[0]=new Integer(99);
			obs[1]=new Double(88.8);
			obs[2]=new String("Hello WebService!!!");
			result=(String) call.invoke(obs) ;
			System.out.println("============================");
			System.out.println(result);
			System.out.println("=============================");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
	public static void main(String[]args){
		clientRequest();
	}
}
11.SeriviceClient工程代码 完成,启动即可连接到ServiceServer端,然后返回如下及成功调用webService成功


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JavaWeb之抓包之旅(三) :HttpClient封装工具类

JavaWeb之抓包之旅(二) :HttpClient封装工具类

java WebService列子

  • 2014-06-10 16:21
  • 461KB
  • 下载

JAVA SAX(流读取方式) 读取xml文档 简单列子

JAVA SAX 读取xml文档 package com.test; import java.io.File; import java.io.FileInputStream; import...

java加密解密简单列子

package com.company.item.desc;     import java.security.Key;         import javax.crypto.Ciphe...

一个经典例子让你彻彻底底理解java回调机制

转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273),请尊重他人的辛勤劳动成果,谢谢 ...

一个经典例子让你彻彻底底理解java回调机制

原文:http://blog.csdn.net/xiaanming/article/details/8703708/ 以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想什么叫回调方法啊...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)