`

webservice开发(jdk发布服务端,wsimport和URL两种方式调用)

    博客分类:
  • Java
 
阅读更多

//服务端的程序
package com.webservice.sym;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class HelloService {

	/**
	 * @param args
	 * 采用的JDK在1.6.25版本之上
         * 总结webservice:webservice内部是使用Socket实现,通过http post
	 * 方式接受客户的请求,webservice与客户之间一般使用SOAP协议传输XML数据,它本身是为了跨平台或者跨语言而设计的
	 * 运行本project(为server),在浏览器中输入:http://136.10.7.151:808/HelloS?wsdl查看是否成功,
	 * 则在命令行窗口中输入命令:wsimport -s . http://136.10.7.151:808/HelloS?wsdl,在所在的目录下生成文件,
	 * 保留.java 文件,去除.class文件。建立另一个project(为client),把以上生成的.java文件copy至client的project中,并创建如下client程序(HelloClient)
	 * 
	 */
	
	public static void main(String[] args) {
		HelloService hello = new HelloService();
		/*
		 * 136.10.7.15必须写自己的地址,必须保证能发布服务,不能乱写
		 */
		Endpoint endpoint = Endpoint.publish("http://136.10.7.151:808/HelloS",
				hello);
	}

	/*
	 * 必须定义一个方法,且此方法不能是static的,不能是final
	 */
	@WebMethod
	public String sayhello(String name) {
		return "Hello, " + name + "\n";
	}
//不发布此方法
	@WebMethod(exclude=true)
	public String sayhello2(String name) {
		return "Hello, " +name + "\n";
	}
}
//采用wsimport进行调用
客户端的新创建的java文件为:
class HelloClient{   
	public static void main(String args[]) {   
	  HelloServiceService service = new HelloServiceService();   
	 HelloService helloProxy = service.getHelloServicePort();   
	 String hello = helloProxy.sayhello("你好");          
	 System.out.println(hello);   
	 }   
	}
//采用URL进行调用
package com.url.sym;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class UrlConn {

	/**
	 *本次采用的是通过SOAP连接,并获取所需要调用的信息,获取方式为:在MyEclipse中找到SOAP webservice launch expl
	 *打开并找到WSDL main,打开,输入所需服务的WSDl地址,点击GO之后输入服务函数的参数,可得到explorer给生成的SOAP字符串
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		// 服务的地址
		URL urlconn = new URL("http://136.10.7.151:808/HelloS");
		HttpURLConnection conn = (HttpURLConnection) urlconn.openConnection();
		conn.setDoInput(true);
		conn.setDoOutput(true);
		conn.setRequestMethod("POST");
		conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
		OutputStream oStream = conn.getOutputStream();
		String soap = "<soapenv:Envelope xmlns:soapenv=\""
				+ "http://schemas.xmlsoap.org/soap/envelope/\" xmlns:q0=\""
				+ "http://sym.webservice.com/\" xmlns:xsd=\""
				+ "http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\""
				+ "http://www.w3.org/2001/XMLSchema-instance\">"
				+ "<soapenv:Body>" + "<q0:sayhello>" + "<arg0>666</arg0>"
				+ "</q0:sayhello>" + "</soapenv:Body>" + "</soapenv:Envelope>";
		oStream.write(soap.getBytes());
		InputStream iStream = conn.getInputStream();
		Reader reader = new InputStreamReader(iStream);
	
		
          //方法一:
		int tempchar;
//不能用String str=null;否则会打印出“null”
		String str =new String();
		while ((tempchar = reader.read()) != -1) {
			str += (char) tempchar;

		}
          //方法二:
          // BufferedReader bReader = new BufferedReader(reader); 
          //String str = bReader.readLine();
          //while ((tempchar = bReader.read()) != -1) {
		//str += bReader.readLine();
		//}
		System.out.print("str:"+str);
		/*
		 * 打印结果:str:<?xml version="1.0" ?><S:Envelope xmlns:S=
		 * "http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:sayhelloResponse xmlns:ns2=
		 * "http://sym.webservice.com/"><return>Hello, 666
         *</return></ns2:sayhelloResponse></S:Body></S:Envelope>
		 */
//		bReader.close();
		reader.close();
		iStream.close();
		oStream.close();
		conn.disconnect();
	}

}


分享到:
评论

相关推荐

    WebService开发服务端的两种方式:jdk、cxf

    本文将详细介绍使用JDK和CXF两种方式来开发WebService服务端。 一、JDK原生实现WebService(JAX-WS) 1. **JAX-WS概述**:Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。它...

    WebService使用JDK发布

    Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同的系统之间进行数据交换。在本场景中,我们关注的是使用Java Development Kit(JDK)来发布Web服务。JDK提供了内置的支持,通过使用Java API...

    webservice ssm+cxf服务端

    总的来说,"webservice ssm+cxf服务端"是一个利用SSM框架和CXF服务框架构建的Web Service应用,它实现了服务发布和调用的功能,适合于需要跨系统交互的场景。通过学习和实践这个项目,开发者可以深入理解SSM和CXF的...

    使用JDK开发WebService

    在Java开发领域,WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的通信协议,它允许不同系统之间进行数据交换,跨越各种平台和编程语言。本教程将深入讲解如何使用JDK(Java Development Kit)来创建和消费Web...

    jdk6 开发webservice

    在Java开发中,Web Service是一种用于不同系统间进行远程通信的技术,允许应用程序通过网络共享功能和服务。JDK 6引入了JAX-WS(Java API for XML Web Services),它是一个标准的、基于注解的框架,简化了Web ...

    AXIS1.4webservice服务端和客户端例子

    在这个"AXIS1.4 WebService服务端和客户端例子"中,我们将深入探讨如何使用AXIS1.4搭建服务端和客户端,以及如何进行远程调用。 首先,让我们从服务端开始。服务端是提供Web服务的系统,它可以接收客户端的请求并...

    webservice基于JDK演示service与client以及所需jar

    WSDL(Web Services Description Language)用于定义Web服务接口,而UDDI(Universal Description, Discovery and Integration)则是一个目录服务,帮助服务提供商发布和发现Web服务。 **二、JDK中的wsimport工具**...

    使用wsgen和wsimport开发WebService

    本文档旨在介绍如何使用`wsgen`和`wsimport`工具在Eclipse环境下搭建一个简单的WebService应用,包括服务端与客户端的开发过程。虽然这是一个入门级的示例程序——Hello World,但它能够帮助我们了解基于Java平台...

    jdk 6.0 自带webservice实现 实例

    1. Webservice 的基本概念:Webservice 是一种基于 XML 的远程调用协议,它允许不同的应用程序之间进行通信。 2. JDK 6.0 自带 Webservice 服务器:JDK 6.0 中自带了一个轻量级的 Webservice 服务器,可以用来发布...

    JDK1.6支持WebService

    在JDK 1.6中,开发者可以利用JAX-WS轻松地创建服务提供者接口(SPI),并自动生成客户端存根代码,从而实现服务的发布和调用。 3. **Java Architecture for XML Binding (JAXB)**:JAXB是Java中用来将XML数据与Java...

    jdk5 webservice demo

    【标题】"JDK5 WebService Demo"是一个基于Java开发的Web服务示例项目,它展示了在JDK 5.0版本中如何实现和使用Web服务。Web服务是一种通过网络进行通信的应用程序接口(API),它允许不同系统之间的数据交换。JDK 5...

    webservice四种发布方式及客户端调用

    ### WebService 四种发布方式及客户端调用详解 #### CXF 方式 CXF 是一个流行的开源框架,用于构建 SOAP 和 RESTful 的 Web 服务。它与 Spring 框架有着良好的集成度,因此成为了许多项目的首选。然而,正如作者所...

    java webservice服务端及客户端简单示例

    在JDK1.6版本以后,在&lt;JAVA_HOME&gt;/bin目录下有一个wsimport.exe工具,该工具可以根据wsdl文件自动生成webservice接口调用的java客户端代码,十分方便。而自己仅需要写一个测试类。 使用过程如下: 1. 获取...

    jdk 生成webservice工程(源码 )

    【标题】"JDK生成Web服务工程(源码)"涉及的是使用Java开发Web服务的基本技术,特别是通过Java API for XML Web Services (JAX-WS)来创建和消费Web服务的过程。JAX-WS是Java平台上用于构建SOAP Web服务的标准API,...

    WebService接口开发与调用

    WebService作为一种开放标准的服务实现方式,允许不同语言编写的程序进行交互。本文档将详细介绍如何在两个Web项目中发布WebService接口,并实现相互之间的调用。 #### 二、项目部署目标 本案例的目标是在IntelliJ...

    WebService+MyEclipse开发步骤服务端+客户端[整理].pdf

    WebService 开发步骤服务端和客户端 在软件开发过程中,WebService 是一种非常重要的技术,它允许不同的系统和应用程序之间进行交互和集成。本文将详细介绍如何使用 MyEclipse 开发一个简单的 WebService,包括...

    使用Xfire构建JAVA的webService全过程(从服务端到客户端)

    这种方式使得开发Web服务变得更加便捷,尤其适合小型项目和快速原型开发。然而,随着Web服务技术的发展,现在的开发者更倾向于使用Spring Boot集成的Web服务框架,如Spring Web Services或Spring MVC,它们提供了更...

    webservice客户端以及服务端

    Web服务是一种基于网络的、平台无关的交互方式,它允许不同的系统之间进行数据交换和功能调用。在本文中,我们将深入探讨Web服务的核心概念,包括服务端和客户端的实现,特别是关注Java环境下的实现——使用JDK原生...

    PB调用JAVA WEBSERVICE实例

    在企业级应用开发中,不同语言之间的互操作性是非常重要的,而Web服务提供了一种标准的方式来实现这一点。让我们深入探讨这个主题。 首先,Java Web服务(WEBSERVICE)是基于SOAP(Simple Object Access Protocol)...

    pb调用webservice(pb客户端+java服务端).zip

    本示例中的"pb调用webservice(pb客户端+java服务端).zip"包含了一个完整的实现,其中Java服务端使用了JDK 1.8和Eclipse开发环境。 首先,让我们深入理解一下PB调用WebService的基本概念。PowerBuilder是一个强大的...

Global site tag (gtag.js) - Google Analytics