`
IT_way
  • 浏览: 68964 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

webservice 实例

阅读更多
写webservice实例的时候去看了
soap协议
wsdl网络服务描述语言
webservice 支持soap协议,有的时候会用到简单对象传输协议

开始实例
环境 java1.6_13+myeclipse
java为了支持webservice 生成服务端和客户端的一些代码,提供了一些命令
wsgen 生成服务端时会用到
wsimort 生成客户端会用到


1.新建一个java项目
2.新建一个文件目录

3.编写服务接口和实现类
@WebService
public interface UserService {
	public void getUser();
	@WebMethod
	public User getUserById(@WebParam(name = "id") int id);
	@WebMethod
	public List<User> getUserByArgs(@WebParam(name = "user") User user);
	@WebMethod
	public String getExistUser(@WebParam(name = "id") int id);
}

实现类
package com.wbs.serviceimp;

import java.util.List;

import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import com.wbs.dao.Dao;
import com.wbs.daoimp.DaoImp;
import com.wbs.entity.User;
import com.wbs.service.UserService;

@WebService(endpointInterface = "com.wbs.service.UserService", targetNamespace = "http://javax.wzq.wbs/service/userservicetn", 
		portName = "userservicepn", serviceName = "userservice2")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public class UserServiceImp implements UserService{

	Dao daoimp = new DaoImp();
	// @WebMethod
	public String getExistUser(int id) {
		// TODO Auto-generated method stub
		return daoimp.getExistUser(id);
	}

	// @WebMethod
	public void getUser() {
		// TODO Auto-generated method stub
		daoimp.getUser();
	}

	// @WebMethod
	public List<User> getUserByArgs(User user) {
		// TODO Auto-generated method stub
		return daoimp.getUserByArgs(user);
	}

	// @WebMethod
	public User getUserById(int id) {
		// TODO Auto-generated method stub
		return daoimp.getUserById(id);
	}
}

4:发布服务
package com.wbs.pulish;

import javax.xml.ws.Endpoint;

import com.wbs.serviceimp.UserServiceImp;

public class WbsPlish {

	public static void main(String[] args) {
		Endpoint.publish
//发布地址
("http://localhost:8080/service/pluserserivce", new UserServiceImp());
		
	}
}



在运行的过程中 遇到jax-ws getXX方法找不到。

将jdk 升级到jdk-6u17,就解决


http://localhost:8080/service/pluserserivce?wsdl测试,如果成功。有UserServiceImp的wsdl文档

6:编写客户端
6.1新建一个客户端项目
6.2用cmd命令 wsimport 生成客户端代码



在用wsimport命令的时候碰到 java.long.nullpoiterexception,弄了好久,查了一些资料,服务名不能重复serviceName = "userservice2"  。我已经写了个项目,服务名是userservice。
6.3 编写客服点测试代码
package com.wbs.service.client;

import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.namespace.QName;
import java.util.*;
public class WbsClient {
	final QName qname=new QName("http://javax.wzq.wbs/service/userservicetn", "userservice2");
	 
	public static void main(String[] args) throws MalformedURLException {
		
		System.out.println("---");
		URL url = new URL("http://localhost:8080/service/pluserserivce?wsdl");
		System.out.println("---");
		WbsClient client = new WbsClient();
		client.binduseruserservice(url);
		

	}
	
	public void binduseruserservice(URL url){
		System.out.println("---");
		Userservice2 userservice=new Userservice2(url,qname);
		UserService userserviceimp=userservice.getUserservicepn();
		userserviceimp.getUser();
		String str=userserviceimp.getExistUser(1);
		
		System.out.println("---"+str);
		User user=new User();
		List<User> list=userserviceimp.getUserByArgs(user);
		for(User u:list){
			System.out.println("-name--"+u.getName());
			
		}
		
		User userid=userserviceimp.getUserById(6);
		System.out.println("-name--"+userid.getName());
	}
	
}


开启服务端,在运行客户端,就行了
分享到:
评论

相关推荐

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

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

    C# webservice实例与在IIS上的部署

    **C# Webservice实例与在IIS上的部署** 在IT领域,C# Webservice是一种基于.NET框架的服务,用于实现应用程序间的通信。它允许通过HTTP协议传递数据,使得不同平台的应用程序能够共享信息和服务。本教程将详细介绍...

    C#调用WebService实例和开发(wsdl).rar

    在本例中,"C#调用WebService实例和开发(wsdl).pdf"可能包含详细的步骤和代码示例。 2. **添加引用**:将生成的代理类添加到你的项目中,这样就可以在C#代码中直接调用Web服务的方法。 3. **实例化代理类**:...

    SAP&Java的Webservice实例

    SAP&Java的Webservice实例 Webservice 是一种基于 SOAP 传输协议,用 WSDL 描述,用 XML 封装数据的接口技术。由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、...

    Java使用SOAP获取webservice实例解析

    ### Java使用SOAP获取WebService实例解析 #### WebService简介 WebService是一种跨编程语言和操作系统平台的、在网络上进行数据交换的一种方式。它使用标准的Internet协议,如HTTP、XML、SOAP等来实现不同系统间的...

    Webservice实例

    【WebService实例】 在IT行业中,WebService是一种基于开放标准(如XML、SOAP、WSDL和UDDI)的Web应用程序接口(API),它允许不同系统之间的数据交换和互操作性。这种技术使得开发者可以创建可跨平台、跨语言的...

    SSH整合cxf webservice实例

    SSH整合CXF Webservice实例详解 在Java世界中,SSH(Spring、Struts、Hibernate)是一种常见的企业级应用开发框架组合,它提供了强大的MVC(Model-View-Controller)架构支持,以及持久层管理和业务逻辑处理。而CXF...

    WebService实例

    【WebService实例】是Java WebService服务端开发的一个实践案例,主要展示了如何创建、部署和使用一个简单的WebService。在本文中,我们将深入探讨WebService的核心概念、Java WebService的实现技术以及如何进行服务...

    webService实例(java面试必用)

    标题"webService实例(java面试必用)"指出,这是一个针对Java开发者,尤其是面试准备者的Web Service实践教程。在Java面试中,理解Web Service的基本概念、工作原理和如何实现是必不可少的技能。 描述"Java中的...

    java调用webservice实例

    ### Java调用WebService实例解析与知识点详解 #### 核心概念与原理 在现代软件开发中,服务端之间以及客户端和服务端之间的通信是至关重要的。Web Service作为一种标准的、跨平台的服务实现方式,允许不同语言编写...

    XFire建立Webservice实例,入门级别,适合初学者

    【XFire建立Webservice实例详解】对于初学者来说,理解并构建一个Web Service是一个重要的学习步骤,而XFire作为一款曾经流行的开源框架,提供了一种简单的方法来创建和部署Web Service。本文将详细介绍如何利用...

    详解axis调用webservice实例

    标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...

    java webservice实例教程PPT

    java webservice实例教程ppt,共15讲,java webservice实例教程适合对象:想要学习SOA面向服务编程思想,学习Webservice技术,希望学习系统间通信设计的Java设计开发人员。java webservice实例教程适合于各个层次的...

    Myeclipse创建WebService实例-很好用.doc

    Myeclipse创建WebService实例-很好用.doc 验证成功

    Java开发WebService实例

    ### Java开发WebService实例详解 在IT领域,尤其是企业级应用开发中,WebService作为一种标准化的、跨平台的服务交互方式,被广泛应用于系统间的数据交换与服务调用。本文将基于给定的“Java开发WebService实例”...

    php调用webservice及myeclipse创建webservice实例

    在提供的压缩包文件中,"php+webservice"很可能包含了PHP代码文件,用于演示如何调用由MyEclipse创建的Web服务。这些文件可能包括一个PHP脚本,该脚本使用SoapClient类与Web服务交互,以及MyEclipse项目中的源代码和...

    java实现webservice实例.doc

    "Java实现WebService实例" WebService是基于XML的、分布式的、跨语言的应用程序通信协议。它允许不同的应用程序之间进行交互和集成,从而实现业务逻辑的复杂交互。Java是其中一种常用的实现WebService的语言。 在...

Global site tag (gtag.js) - Google Analytics