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调用demo,对hutool工具进行简单的封装,只需要输入webservice接口名、接口参数即可进行webservice接口调用,欢迎大家吐槽
介绍了java代用webservice的实现方法,采用axis依赖的方式。对于任意webservie都可以实现简单条用,用最少的依赖和最少的代码实现调用
testWebService 是webservice的服务端 zxntest 是webservice 的客户端(很大一部分jar包无效) http://localhost:8080/testWebService/webservice/webservice?wsdl 测试路径
b. 开发WebService接口实现类,@WebService注解该实现类,并制定endpointInterface; c. 配置applicationContext-ws.xml d. 测试 备注: 开发一个需要对第三方应用发布的RESTful Service 步骤: a. 开发RS接口...
最简单的webservice的例子,包括服务端与客户端,有axis、xfire的两种方式的实现
一个简单实用的WebService服务端开发样例,采用Spring MVC,利用 x-fire资源,加入 log4j日志记录,加入maven来获取对应依赖。 该服务提供一个针对 TRSServer 全文检索服务器数据库 的检索功能,通过 url来执行全文...
搭建一个Web服务,实现一个服务端,怎么样来实现一个客户端,并相互传递数据。就算调用别人的服务时,也能知道大概是怎么样实现的。
主要介绍了Java编程Webservice指定超时时间代码详解,简单介绍了webservice,然后分享了通过使用JDK对Webservice的支持进行Webservice调用实现指定超时时间完整示例,具有一定借鉴价值,需要的朋友可以参考下。
一个基于xfire开发的Webservice小例子,初学者可以看看!
展示WebService功能特点(别的地方下载来的,与大家共享)
基于Java的一个简单的webservice 直接跟javaweb一样点运行 网址为 localhost/webservice/servlet/XFireServlet/Echo?wsdl WEB-INF下的META-INF下的services.xml定义了Echo,并定义了接口和实现类 web.xml进行了xfire...
xfire简单实现webservice服务端创建与客户端,实现方法用的代理调用的,不需要服务端的接口。
我们已经知道如何在java端调用web服务(见web服务使用说明文档),但是如何在其他平台的其他客户端调用我们的web服务呢?下面做一下简单介绍并通过Gsoap举一个请求服务的例子。 WebService是一种跨平台的解决方案。...
Java调用天气webservice接口简单实现
短信业务能力引擎是一个短信业务接口,该接口采用同步Web Service方式提供服务。...通过调用该接口就可以实现向用户终端发送短消息。 在现阶段的情况下,商企平台通过接入到企信通平台,实现业务短信业务能力。
WebService Mock是用于模拟WebServices的非常简单但功能强大的工具。 为什么要使用WebService模拟? 通过非侵入性方式实现模拟,甚至无需编写任何代码行,这意味着无需模拟服务存根。 可以用于对应用程序进行压力...
java 实现webservice的简单实例,服务端发布方式是通过servlet的方式发布webservice路径,首先建立接口类,然后建立实现类,配置servlet和web.xml,启动程序后然后在地址栏里面输入wsdl路径即可
webService开发手册,...适应 WEB、VB 、Delphi、.NET、VC 、 JAVA 等多种主流开发语言及 Windows 、Linux 、Unix 等运行环境的短信通讯开发接口,让企业的 OA 、CRM 、ERP 、SCM 等系统快速、轻松实现移动商务应用。