webservice实现有多种方式
比如最常用的有axis框架,xfire框架,通过该框架可以发布wsdl接口,也可以实现webservice客户端,目前eclipse都有集成的插件,可以根据wsdl文件生成webservice客户端调用接口,但是这样部署的时候必须依赖框架的jar包,有时候可能因为环境等等原因,我们仅仅需要wsdl中的某一个接口,这时候可以通过http接口或socket接口直接发生xml数据,来调用服务端webservice服务,其实webservice底层还是发送xml数据,只是框架封装了对xml数据进行序列化与反序列化操作,下面以两个简单的例子说明http方式和socket方式。
http实现webservice接口调用例子:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class HttpPostTest {
void testPost(String urlStr) {
try {
URL url = new URL(urlStr);
URLConnection con = url.openConnection();
con.setDoOutput(true);
con.setRequestProperty("Pragma:", "no-cache");
con.setRequestProperty("Cache-Control", "no-cache");
con.setRequestProperty("Content-Type", "text/xml");
OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());
String xmlInfo = getXmlInfo();
out.write(new String(xmlInfo));
out.flush();
out.close();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line = "";
StringBuffer buf = new StringBuffer();
for (line = br.readLine(); line != null; line = br.readLine()) {
buf.append(new String(line.getBytes(),"UTF-8"));
}
System.out.println(buf.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private String getXmlInfo() {
// 通过wsdl文件可以查看接口xml格式数据,构造调用接口xml数据
String xml = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">"
+ "<SOAP-ENV:Body>"
+ "<m:getItemDetailSingle xmlns:m=\"http:xxxxxxxxxxxxxxxxxx/\">"
+ "<itemMo>"
+ "<category>工厂类</category>"
+ "<city>北京</city>"
+ "<flag>1</flag>"
+ "<itemId>0</itemId>"
+ "<itemIndex>1</itemIndex>"
+ "<keyword></keyword>"
+ "<mobile>2147483647</mobile>"
+ "<password>123456</password>"
+ "<userName>sohu</userName>"
+ "</itemMo>"
+ "</m:getItemDetailSingle>"
+ "</SOAP-ENV:Body>"
+ "</SOAP-ENV:Envelope>";
return xml;
}
public static void main(String[] args) throws UnsupportedEncodingException {
String url = "http://localhost:9003/dataService/services/Job";
new HttpPostTest().testPost(url);
}
}
分享到:
相关推荐
"Java实现WebService实例" WebService是基于XML的、分布式的、跨语言的应用程序通信协议。它允许不同的应用程序之间进行交互和集成,从而实现业务逻辑的复杂交互。Java是其中一种常用的实现WebService的语言。 在...
下面,我们将通过一个简单的例子,展示如何使用 XFire 调用 webService 接口。 服务端(为客户端提供 webservice 接口) 在服务端,我们需要创建一个 web 服务项目,使用 XFire 框架,并配置好 web.xml 文件。然后...
综上所述,Java WebService接口开发涉及多个步骤,包括接口定义、服务实现、客户端代理生成、SOAP消息交换以及安全性和服务管理。掌握这些知识将有助于构建高效、可靠的分布式系统。通过实际案例的实践,你可以更...
Java调用WebService接口方法是Java开发中常见的任务,尤其在分布式系统和跨平台通信中扮演着重要角色。这里我们主要探讨使用Apache Axis库来实现这一功能。Apache Axis是一款开源工具,它提供了Java到SOAP(简单对象...
在“java 利用webservice传输文件”的场景中,JACOB可能被用来执行以下任务: 1. **文件操作**:Windows系统有许多内置的COM组件,如Scripting.FileSystemObject,可用于读写文件、创建目录等。通过JACOB,Java程序...
Java调用WebService接口是Web应用程序开发中的常见任务,主要用于实现不同系统间的远程通信和数据交换。在本资料中,我们重点关注Java如何与基于SOAP(Simple Object Access Protocol)的WebService进行交互。 1. *...
这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...
### Java调用Webservice接口详解 #### 一、前言 随着互联网技术的发展与进步,Webservice作为一种重要的网络服务标准,被广泛应用于不同系统之间的数据交互。Webservice结合XML技术,能够实现跨平台、跨语言的数据...
Java 调用 Webservice 接口是指使用 Java 语言来调用 Webservice 接口,以实现不同的应用程序之间的交互和集成。 一、使用 JDK Web 服务 API 实现 Webservice 使用 JDK Web 服务 API 可以实现 Webservice 的创建和...
WebService接口利用WSDL(Web Services Description Language)定义服务接口,UDDI(Universal Description, Discovery, and Integration)用于服务注册和发现,以及SOAP进行消息传输。相比于HTTP接口,WebService...
在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...
2. **创建WebService客户端**:使用WSDL(Web Service Description Language)文件,你可以自动生成Java客户端代码。Eclipse和MyEclipse都有工具可以做到这一点。WSDL文件描述了Web服务的接口、操作、消息格式等。 ...
在Java世界中,Web服务(Web Service)是...总的来说,Java自带的JAX-WS提供了一套完整的工具链,使得开发、部署和调用Web服务变得相对简单。结合适当的权限管理和对象封装,可以创建出符合企业级需求的高质量Web服务。
【描述】:通过Idea实现webservice涉及到的主要步骤包括设置项目、创建服务接口、编写服务实现、部署和测试。下面我们将逐一解析这些步骤: 1. **创建项目与环境配置** 首先,打开Idea并创建一个新的Java项目。...
在这个场景中,"webservice接口调用工具类依赖jar包"指的是为了实现对WebService接口的调用,我们需要在项目中引入特定的Java库(jar包)作为依赖。 首先,理解WebService的基本概念。WebService是一种基于开放标准...
【标题】"超简单的webservice调用"涉及的是在Java环境下使用Hutool库进行Web Service接口调用的基础知识。Web Service是一种基于网络的、松散耦合的软件组件交互方式,它允许不同系统间的应用共享数据和服务。在这个...
ODI(Oracle Data Integrator)是一种数据集成平台,提供了webservice接口,允许用户通过webservice调用ODI方案执行,从而实现数据的同步。 在本文档中,我们将通过 Java 应用程序调用 ODI webservice,实现数据的...
Java调用WebService接口是开发中常见的一种交互方式,主要用于不同系统间的远程通信。本文主要讨论两种常见的Java调用WebService的方法。 第一种方法是基于JDK的Web服务API,使用SOAP消息进行通信。首先,我们需要...
在Java 6中创建Web服务(WebService)是一个相对简单的过程,尤其对于那些熟悉JAX-WS(Java API for XML Web Services)的开发者来说。本文将详细介绍如何利用Java 6的API来构建一个基本的SOAP(Simple Object ...
本篇将详细介绍如何在Java 6环境中实现一个超级简单的WebService服务器和客户端。 **一、WebService基础知识** WebService是一种基于XML的网络通信协议,它通过SOAP(Simple Object Access Protocol)消息进行数据...