`

webservice 随笔2

    博客分类:
  • java
 
阅读更多

一、我们也可以这样写一个webservice的客户端来调用webserivce.

		JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
		
		/**
		 * wsdl的获取方法:在启动web工程的时候,我们输入url/service就可以看到工程里面的所有暴露的接口,
		 * 找到你需要的那个接口点进去后,看到的url就是需要的wadl
		 * 
		 */
		org.apache.cxf.endpoint.Client client = dcf.createClient("http://127.0.0.1:8080/lxjweb/service/test?wsdl");
		Object[] reply = null;
		String paramw = "admin1";
		String param = "admin2";
		try { 
			/**
			 * 调用的时候,第一个为实现时方法的名称
			 * 后面的参数才是方法所需要的参数
			 */
			reply = client.invoke("testMethod",paramw,param); 
			System.out.println(reply[0].toString());
		} catch (Exception e) { 
			e.printStackTrace(); 
		}

 二、这样写的时候,我们要把对应的接口映射过来

JaxWsProxyFactoryBean  factory = new JaxWsProxyFactoryBean (); 
	    factory.setServiceClass(ITest.class);
	    factory.setAddress("http://127.0.0.1:8080/lxjweb/service/test");
		Object obj = factory.create();
	    if(obj != null){
	    	ITest it = (ITest)obj;
	    	
			try {
				String s = it.testMethod("admin", "admin123");
				System.out.println(s);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	    }

 三、服务端代码:接口

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
public interface ITest {

	//当调用这个方法的时候,第一个参数为方法名称,后面的参数才是真正的参数
	@WebMethod
	public String testMethod(@WebParam(name="param1") String param1, @WebParam(name="param2") String param2);
	
}

 接口实现类

import javax.jws.WebService;

import com.lenovo.lxj.product.webservice.ITest;
/**
 * webService的一个实现类,
 * endpointInterface   表示实现的那个接口
 * targetNamespace     命名空间 
 * @author issuser
 *
 */
@WebService(endpointInterface = "com.lenovo.lxj.product.webservice.ITest",
		targetNamespace="http://webservice.product.lxj.lenovo.com/")
public class TestImpl implements ITest{

	@Override
	public String testMethod(String param1, String param2) {
		// TODO Auto-generated method stub
		
		String result = "This is  param1: " + param1 + ", this is param2: " + param2;
		
		return result;
	}

}

 配置文件

<jaxws:endpoint id="test" address="/test">
		<jaxws:implementor>
			<bean class="com.lenovo.lxj.product.webservice.impl.TestImpl">
			</bean>
		</jaxws:implementor>
	</jaxws:endpoint>

 注意在写配置文件的时候一定要引入

<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
 

注:做试验的时候,一定要把客户端和服务端分别写在两个工程里面。

分享到:
评论

相关推荐

    axis2例子 webservice axis2 示例

    axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例

    WebServiceStudio2

    **WebServiceStudio2详解** 在IT行业中,Web服务是应用程序之间进行通信的一种标准方式,它允许不同系统间的数据交换,促进了跨平台的集成。而`WebServiceStudio2`正是这样一款强大的Web服务调用与调试工具,它专为...

    WebService教程+实例+代码提示功能WebService实例.rar

    这个"WebService教程+实例+代码提示功能WebService实例.rar"压缩包文件显然包含了关于WebService的学习资料、实例代码和可能的代码提示功能,旨在帮助用户深入理解和实践WebService的开发。 首先,"教程地址.txt"很...

    axis2webservice接口例子

    标题中的“axis2webservice接口例子”指的是使用Apache Axis2框架创建的一个Web服务接口实例。Apache Axis2是Java平台上的一款强大的Web服务开发工具,它提供了高效、灵活且可扩展的环境来构建和部署Web服务。这个...

    axis2开发webservice(二)

    资源包含了:axis2-1.7.4-bin.zip、axis2-1.7.4-war.zip、axis2-eclipse-...备注:资源超过了70M 分成了3部分 见axis2方式开发webservice(一)和 axis2方式开发webservice(二)、 axis2方式开发webservice(三)

    C#调用JavaWebService

    调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader...2. 程序里读取XML模板,替换对应的参数,通过HTTP流发送到WebService;

    Axis2创建WebService

    Axis2创建WebService

    Idea实现WebService实例

    2. **引入WebService相关库** 在项目中,我们需要引入处理WebService的库,如Apache CXF。可以通过Idea的"File" -&gt; "Project Structure" -&gt; "Modules" -&gt; "Dependencies",然后点击"+"添加JARs或目录,选择CXF的库...

    WebServiceStudio webservice测试工具

    WebServiceStudio是一款轻量级的Web服务测试工具,它允许开发者无需编写任何代码就能对Web服务进行快速、便捷的测试。这个工具特别适用于那些需要验证Web服务功能或调试接口的IT专业人员。在本文中,我们将深入探讨...

    webService添加basic验证

    本文将详细介绍如何为基于Axis2的WebService添加Basic验证,以及客户端如何正确地通过验证进行调用。 #### 一、理解Basic验证原理 在了解具体的实现步骤之前,先来了解一下Basic验证的基本原理。Basic验证是一种...

    c++调用webservice(包括静态和动态以及webservice源码)

    然而,由于其自身不直接支持Web服务(WebService)的调用,开发者通常需要借助第三方库或者特定的技术来实现。本篇文章将详细讲解如何在C++中调用WebService,包括静态和动态方式,并探讨相关的源码实现。 首先,让...

    oracle 调用webservice

    本文将详细介绍 Oracle 调用 Webservice 的实现过程,包括 Webservice 的基本概念、 Java 编写简单的 WebService 实例、Oracle 服务器端配置、加载 JAR 包、测试调用 PHP Webservice 和 Java Webservice 等内容。...

    webservice测试调用工具WebserviceStudio20

    2. **SOAP支持**:作为Web服务的主要通信协议,SOAP支持是必不可少的。WebserviceStudio能够处理SOAP请求和响应,包括创建、编辑和发送SOAP消息。 3. **WSDL解析**:工具能够解析WSDL文件,展示服务的接口细节,...

    一个简单的WEBSERVICE 例子

    根据提供的文件信息,本文将详细解释一个简单的 WebService 示例,并深入探讨其中的关键概念和技术细节。 ### 一、WebService 概念 #### 1.1 WebService 定义 WebService 是一种支持通过网络进行调用的服务形式,...

    webservice获取List案例

    2. **泛型**:在Java中,泛型是一种允许在定义类、接口和方法时使用类型参数的技术,它提供了编译时类型安全性和更好的性能。泛型List允许我们在List中存储特定类型的元素,如List或List,确保了添加和检索元素时的...

    基于axis2实现的webservice简单实现(客户端+服务端)。

    【标题】中的“基于axis2实现的webservice简单实现(客户端+服务端)”表明了本文将探讨如何使用Apache Axis2框架来创建和消费Web服务。Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了高效且灵活的...

    WebserviceStudio webservice调试工具

    2. **WebserviceStudio功能**: - **调用测试**:WebserviceStudio允许用户直接输入XML请求,模拟客户端调用Web服务,获取并显示响应结果,帮助开发者快速验证服务接口是否正常工作。 - **WSDL解析**:它可以解析...

    webservice

    2. **服务消费者**:调用WebService的一方,可以是任何类型的客户端应用。 3. **服务描述语言(WSDL)**:一种XML格式的文件,用于描述服务接口、消息格式以及如何与服务交互等信息。 4. **服务注册中心**:如UDDI...

    WebService依赖jar以及xml.zip

    这些jar文件很可能包含了用于处理WebService请求和响应的库,如Apache CXF、 Axis2 或者 Metro等,它们提供了实现SOAP协议和解析WSDL文件的工具。 例如,Apache CXF是一个流行的开源框架,它提供了开发和部署SOAP和...

Global site tag (gtag.js) - Google Analytics