`

三、通过UrlConnection调用Webservice服务

阅读更多

1、接着学习调用WebService服务的第三种方法,通过UrlConnection调用Webservice服务。

2、还是一样,必须启动一个WebService服务,代码:

package com.wang.webservice.service;

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

@WebService
public class HelloService {
	
	public String sayHello( String name ){
		System.out.println(name);
		return "hello " + name;
	}
	
	public static void main(String[] args) {
		Endpoint.publish("http://127.0.0.1:1234/helloservice", new HelloService());
	}
	
}

 与上一篇文章用的WebService服务端一样。启动,

3、编写客户端代码:

package com.wang.webservice.urlconnection;

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

/*
 * 通过UrlConnection调用Webservice服务
 */
public class App {
	
	public static void main(String[] args) {
		URL wsUrl = null;
		try {
			
			wsUrl = new URL("http://127.0.0.1:1234/helloservice");
			HttpURLConnection conn = (HttpURLConnection) wsUrl.openConnection();
			
			conn.setDoInput(true);
			conn.setDoOutput(true);
			conn.setRequestMethod("POST");
			conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
			
			OutputStream os = conn.getOutputStream();
			
			//请求体
			String soap = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:q0=\"http://service.webservice.wang.com/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"
					    + "<soapenv:Body><q0:sayHello><arg0>tom</arg0></q0:sayHello></soapenv:Body></soapenv:Envelope>";
			
			os.write(soap.getBytes());
			
			InputStream is = conn.getInputStream();
			
			byte[] b = new byte[1024];
			int len = 0;
			String s = "";
			while( (len = is.read(b))!=-1 ){
				
				String ss = new String(b,0,len,"UTF-8");
				s += ss;
			}
			
			//返回的是拦截中的返回体;
			System.out.println(s);
			
			is.close();
			os.close();
			conn.disconnect();
			
		} catch (MalformedURLException e) {
			System.out.println("创建URL失败");
			e.printStackTrace();
		} catch (IOException e) {
			System.out.println("URL打开失败");
			e.printStackTrace();
		}
		
	}
	
}

 这里面注解中的请求体和返回体,在上一篇文章中介绍了,这里不再重复,

运行后,调用WebService服务端成功。这种方法更底层一些;

0
0
分享到:
评论
1 楼 chaoge145 2016-09-21  
你自己验证过吗?可以运行出结果吗?

相关推荐

    Java调用WebService(客户端)

    【Java调用WebService客户端详解】 在Java开发中,有时我们需要从客户端调用远程的WebService服务以获取或传递数据。本文将详细介绍如何使用Java进行WebService客户端的调用,并提供HttpGet、HttpPost、HttpSoap...

    JS调用WebService.zip

    因为要通过js或urlConnection调用服务器提供的方法。需要使用soap协议文本。 2,我们可以通过js和urlConnection轻量级的调用服务器方法。 我们之前都是使用服务器提供的类来调用,耦合度较高,服务器的代码改动会...

    eclipse中webservice实例运用

    webservice实例运用: 客户端调用webservice的方式: 1、通过wsimport生成客户端代码 2、通过客户端编程的方式调用 3、通过ajax调用js+xml 4、通过URLConnection调用

    webservice 客户端调用公共方法

    在调用Web服务时,通常会使用GET或POST方法,这可以通过`URLConnection`来实现。 `JAXB (Java Architecture for XML Binding)`是Java的一个标准API,用于将Java对象转换为XML,以及将XML数据解析回Java对象。在Web...

    WebService URLConnection request/response JDK1.3

    在这个压缩包文件中,`Test.java`和`T.java`可能是测试类,而`WebServiceTest.java`很可能包含了一个使用URLConnection调用WebService的实际示例。`[转]什么是webservice, 作什么用的.mht`文件可能是一个HTML网页,...

    java调用WebService(客户端)分享.pdf

    总的来说,Java调用WebService客户端需要理解不同的通信协议,并根据实际情况选择合适的方式。对于SOAP服务,CXF提供了一种方便且强大的工具。在处理HTTP请求时,掌握`URL`、`URLConnection`以及流操作等基本概念是...

    java调用WebService(客户端)整理.pdf

    【Java调用WebService客户端详解】 在Java开发中,与远程服务进行交互是常见的需求,而WebService作为跨平台、跨语言的通信方式,被...了解这四种调用方式后,可以根据具体需求选择合适的方法来调用WebService服务。

    java调用WebService(客户端)宣贯.pdf

    Java调用WebService客户端详解 在Java开发中,与远程服务进行交互是常见的需求,而WebService作为跨平台、跨语言的标准接口,提供了丰富的功能。本文主要介绍如何使用Java调用WebService客户端,包括四种调用方式:...

    java调用WebService(客户端)[归类].pdf

    【Java调用WebService客户端详解】 在软件开发中,Java作为一种广泛应用的编程语言,常常需要与各种Web服务进行交互。本文将详细介绍如何使用Java作为客户端调用WebService,包括四种主要的调用方式:HttpGet、...

    java调用天气的接口

    在本例中,使用了 webxml.com.cn 提供的天气预报服务,通过调用其 WebService 来获取天气信息。 6. Java 调用天气接口的应用 Java 调用天气接口的应用非常广泛,如: * 天气预报应用程序 * 气象监控系统 * 旅游...

    纯手工开发webservice的客户端(含源代码)

    它允许不同系统间的应用程序通过网络进行交互,实现跨平台的数据共享和功能调用。本教程主要关注的是如何手工开发一个Web服务的客户端,以Java语言为例,配合视频教学,提供了一个完整的开发过程。 在Web服务的世界...

    Java访问WebService返回XML数据的方法

    在实际应用中,这部分可能需要使用`java.net.URL`, `URLConnection`或者第三方库如Apache HttpClient来实现。 一旦解析得到`Document`对象,我们可以对其进行操作,例如查找、修改、遍历XML节点。在本例中,`hello...

    Web Service Tester

    5. Code:本示例项目包含源代码,展示了如何在Android应用中集成和使用URLConnection和HttpClient进行WebService调用。这对于初学者和有经验的开发者都是一个宝贵的参考资料,可以帮助他们更好地理解网络通信的实现...

    webservers

    在IT领域中,`WebService`是一种重要的通信协议,它允许不同系统之间通过网络进行数据交换和服务交互。本文将基于提供的代码片段深入探讨如何使用Java实现`WebService`的客户端调用。 #### 一、理解WebService `...

    java核心技术

    它定义了服务的地址、操作、消息结构以及如何通过SOAP调用这些服务。 综上所述,Java核心技术不仅包括语言基础,也涵盖了高级特性和Web服务的实现,这些都是Java开发者必备的知识。通过学习和理解这些内容,开发者...

    定时从ftp下载xml并解析为图片

    客户端则通过WSDL(Web Service Description Language)来发现服务并调用其方法。 综上所述,这个项目涵盖了FTP通信、XML解析、图片处理、定时任务、数据库操作和Web服务等多个IT技术领域。在实施过程中,你需要...

    疯狂Android讲义(第2版)源代码 第10章~第13章

    10.2、跨进程调用Service(AIDL服务):创建AIDL文件; 将接口暴露给客户端; 客户端访问AIDLService; 10.3、电话管理器:TelephoneManager; 10.4、短信管理器:SmsManager; 10.5、音频管理器:AudioManager; 10.6...

Global site tag (gtag.js) - Google Analytics