- 浏览: 661794 次
- 性别:
- 来自: 石家庄
文章分类
最新评论
-
abao1:
老贾 在安装IDEA的过程中,在激活步骤时,按如下操作即可: ...
IntelliJ IDEA 2016注册方法和注册码 -
bo_hai:
./usr/bin/java: symbol lookup ...
jmagick安装步骤 -
wxcking:
不错的, 收藏一下
JAVA使用POI生成Excel文件 -
zgyfh:
大哥,密码是多少啊?zgyfh@tom.com谢谢了!新手学习 ...
WPF做的必备示例 -
记忆无泪:
jiasongmao 写道你的邮箱是多少,我可以发源代码到邮箱 ...
WPF做的必备示例
java调用java写的web service基本包括两大步:
第一步就是创建一个web service
第二部就是创建一个客户端,以调用上面创建好的web service
具体步骤如下:
如何创建一个Web Services
1、创建一个服务接口(跟普通的接口没有任何区别)
2、创建一个Java类,继承上面定义的服务接口。并保证该类和默认构造函数确保为public
3、增加XFire servlet相关条目到web.xml中
包括:
4、创建services.xml,把它放到WEB-INF/classes/META-INF/xfire目录下
如:
5、增加XFire和第三方包到你的Web应用的WEB-INF/lib文件夹中
• activation-1.0.2.jar
• commons-codec-1.3.jar
• commons-httpclient-3.0.jar
• commons-logging-1.0.4.jar
• jaxen-1.1-beta-8.jar
• jdom-1.0.jar
• log4j-1.2.x.jar
• mail-1.3.3_01.jar
• spring-1.2.x.jar
• stax-api-1.0.jar
• wsdl4j-1.5.2.jar
• wstx-asl-2.9.jar
• xbean-2.1.0.jar
• xbean-spring-2.2.jar
• xfire-all-1.0.jar
• XmlSchema-1.0.jar
服务接口代码如下:
服务实现类代码如下:
如何创建一个客户端:
你可以使用任何的SOAP工具创建客户端,例如,.Net或者Apache Axis,有很多种方法:使用从WSDL产生的stubs,使用动态代理,等等。在例子中,我们使用一个动态代理,以一个简单的Servlet形式,叫做WsClient.java。为了保持代码两最小,所有在屏幕显示的元素都放在了doGet()方法中。对Web Service的实际调用由callWebService()方法完成,它相当地简单。和下面的类似:
这个代码是如何工作的呢?我来解释一下:首先,我们创建一个服务模型,它包含服务的说明——换句话说,就是服务的元数据。我们使用XFire的ObjectServiceFactory从IBankingService.class接口创建这个模型。
接着,为XFire获得一个代理工厂对象,它包含了常规的代码,也相当地简单和易懂。这一步中没有任何特定应用的东西。从这个proxyFactory,使用服务模型和服务端点URL(用来获得WSDL),我们可以得到一个服务的本地代理。就是它了。这个代理就是实际的客户端。现在,我们可以调用它的transferFunds()方法来得到我们需要的Web Service。
详细代码和jar包见附件
参考文章地址:http://hi.baidu.com/yaolihui/blog/item/28f0c903b0f005723912bb80.html
第一步就是创建一个web service
第二部就是创建一个客户端,以调用上面创建好的web service
具体步骤如下:
如何创建一个Web Services
1、创建一个服务接口(跟普通的接口没有任何区别)
2、创建一个Java类,继承上面定义的服务接口。并保证该类和默认构造函数确保为public
3、增加XFire servlet相关条目到web.xml中
包括:
<servlet> <servlet-name>XFireServlet</servlet-name> <display-name>XFire Servlet</display-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/servlet/XFireServlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
4、创建services.xml,把它放到WEB-INF/classes/META-INF/xfire目录下
如:
<beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>Banking</name> <namespace>mybank</namespace> <serviceClass>globalzt.service.IBankingService</serviceClass> <implementationClass>globalzt.serviceImpl.BankingServiceImpl</implementationClass> </service> </beans>让我们看看这里都包含了什么内容。Web Services的定义包含在元素中,它还含有一些子元素。第一个子元素是,它可以是你提供任何的合法名字。这将会被客户端程序和其它需要定位你的服务的组件用到。例如,在服务准备好以后,你将在浏览器上使用这个名字来查看WSDL。 下一个子元素是<namespace>。任何合法的XML名字都是可以的。<namespace>用来唯一标识你的服务的各个参数。 <serviceClass>元素包含了Java类的名字,它指定了方法签名。在我们的例子中,它是接口IBankingService。如果Java类没有实现任何接口,你就需要把类的名字放在这里。在你的Java类或者接口中可能有几个方法。只需要一个入口把它们全部发布为Web Services。 <implementationClass>保存了实现方法的Java类名。这是一个可选元素。如果上一个元素<serviceClass>包含了一个接口,那么相应的实现类必须在这里指定。 就是这样。我们的Web Services配置完成了。
5、增加XFire和第三方包到你的Web应用的WEB-INF/lib文件夹中
• activation-1.0.2.jar
• commons-codec-1.3.jar
• commons-httpclient-3.0.jar
• commons-logging-1.0.4.jar
• jaxen-1.1-beta-8.jar
• jdom-1.0.jar
• log4j-1.2.x.jar
• mail-1.3.3_01.jar
• spring-1.2.x.jar
• stax-api-1.0.jar
• wsdl4j-1.5.2.jar
• wstx-asl-2.9.jar
• xbean-2.1.0.jar
• xbean-spring-2.2.jar
• xfire-all-1.0.jar
• XmlSchema-1.0.jar
服务接口代码如下:
public interface IBankingService { public String transferFunds( String fromAccount, String toAccount, double amount, String currency); }
服务实现类代码如下:
public class BankingService implements IBankingService { //Default constructor. public BankingService(){ } /** Transfers fund from one account to another. */ public String transferFunds( String fromAccount, String toAccount, double amount, String currency){ String statusMessage = ""; //Call business objects and other components to get the job done. //Then create a status message and return. try { NumberFormat formatter = new DecimalFormat("###,###,###,###.00"); statusMessage = "COMPLETED: " + currency + " " + formatter.format(amount)+ " was successfully transferred from A/C# " + fromAccount + " to A/C# " + toAccount; } catch (Exception e){ statusMessage = "BankingService.transferFunds(): EXCEPTION: " + e.toString(); } return statusMessage; } }
如何创建一个客户端:
你可以使用任何的SOAP工具创建客户端,例如,.Net或者Apache Axis,有很多种方法:使用从WSDL产生的stubs,使用动态代理,等等。在例子中,我们使用一个动态代理,以一个简单的Servlet形式,叫做WsClient.java。为了保持代码两最小,所有在屏幕显示的元素都放在了doGet()方法中。对Web Service的实际调用由callWebService()方法完成,它相当地简单。和下面的类似:
/* Call the Web service * */ public String callWebService( String fromAccount, String toAccount, double amount, String currency) throws MalformedURLException, Exception { //Create a metadata of the service Service serviceModel = new ObjectServiceFactory().create(IBankingService.class); log.debug("callSoapServiceLocal(): got service model." ); //Create a proxy for the deployed service XFire xfire = XFireFactory.newInstance().getXFire(); XFireProxyFactory factory = new XFireProxyFactory(xfire); String serviceUrl = "http://localhost:8080/websvc/services/Banking"; IBankingService client = null; try { client = (IBankingService) factory.create(serviceModel, serviceUrl); } catch (MalformedURLException e) { log.error("WsClient.callWebService(): EXCEPTION: " + e.toString()); } //Invoke the service String serviceResponse = ""; try { serviceResponse = client.transferFunds(fromAccount, toAccount, amount, currency); } catch (Exception e){ log.error("WsClient.callWebService(): EXCEPTION: " + e.toString()); serviceResponse = e.toString(); } log.debug("WsClient.callWebService(): status=" + serviceResponse); //Return the response return serviceResponse; }
这个代码是如何工作的呢?我来解释一下:首先,我们创建一个服务模型,它包含服务的说明——换句话说,就是服务的元数据。我们使用XFire的ObjectServiceFactory从IBankingService.class接口创建这个模型。
接着,为XFire获得一个代理工厂对象,它包含了常规的代码,也相当地简单和易懂。这一步中没有任何特定应用的东西。从这个proxyFactory,使用服务模型和服务端点URL(用来获得WSDL),我们可以得到一个服务的本地代理。就是它了。这个代理就是实际的客户端。现在,我们可以调用它的transferFunds()方法来得到我们需要的Web Service。
详细代码和jar包见附件
参考文章地址:http://hi.baidu.com/yaolihui/blog/item/28f0c903b0f005723912bb80.html
- webservicetest.rar (6.3 MB)
- 下载次数: 1145
发表评论
-
强引用、软引用、弱引用和虚引用
2018-06-06 16:37 407Java 如何有效地避免OOM:善于利用软引用和弱引用 ... -
使用Spring实现读写分离( MySQL实现主从复制)
2018-05-17 11:46 541使用Spring实现读写分离( MySQL实现主从复制) ... -
工作流activiti
2018-04-18 15:52 404Activiti工作流教程 https://blog.cs ... -
java的动态代理机制详解
2017-12-22 15:54 382https://www.cnblogs.c ... -
OCR框架整理
2017-08-16 09:29 568泰比ABBYY OCR SDK开发包 Asp ... -
eclipse启动tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space
2017-04-06 16:54 622发布工程后,启动tomcat出现如下内存溢出错误: java ... -
springMVC上传文件大小限制以及超过限制后的自定义处理
2017-04-01 08:12 1218http://blog.csdn.net/baidu_186 ... -
IntelliJ IDEA 2016注册方法和注册码
2017-03-30 13:52 2512IntelliJ IDEA号称当前Java开发效率最高的ID ... -
java使用wsimport生成服务代码时报错的解决办法
2017-01-18 11:27 1677今天遇到了WebService的问题:在使用jdk命令wsi ... -
OCR文字识别系统
2016-12-21 22:14 410慧视OCR文字识别系统 增值税专用发票扫描识别系统 ... -
Maven中央仓库无法更新jar包的解决办法
2016-12-09 00:44 1057删掉了*lastUpdated文件 然后到setti ... -
spring jar包下载地址
2015-09-23 17:31 616spring jar包下载地址:http://maven.sp ... -
JRex java webbrowser 爬虫ajax网页 源码
2015-01-08 16:37 960一般在浏览器中查看页面代码 是浏览器直接下载到的页面代码 在 ... -
程序员福利各大平台免费接口,非常适用
2014-12-03 10:03 892电商接口 京东获取单个商品价格接口: http: ... -
数据库建模工具:PowerDesigner与Rose详解教程
2009-12-08 12:38 1856一、 二者的出身 作为世界最著名的两大CASE工具, ... -
java制作图片的缩略图
2009-09-23 14:49 1612package com.mxo9.b2c.service.ad ... -
MD5、SHA加密实体类
2009-08-02 17:37 1189public class MD5Utility { ... -
des加密解密实体类
2009-08-02 17:21 1356/** * DES加密解密类. ... -
Windows客户端的JProfiler远程监控Linux上的Tomcat
2009-07-20 12:23 27631.测试环境 服务器:ubuntu8.04(内核版本 2.6. ... -
Jalopy在Eclipse下的使用
2009-07-13 17:47 1600Jalopy是一款代码美化工 ...
相关推荐
标题"JAVA调用.NET Web Service完整代码"表明我们将探讨Java如何通过SOAP(Simple Object Access Protocol)或者RESTful API与.NET Web服务进行交互。 首先,我们要理解.NET Web Service的本质,它是一种基于HTTP...
本示例探讨的主题是“Java调用.NET Web Service”,这涉及到不同技术栈之间的互操作性,主要利用了Java的SOAP(Simple Object Access Protocol)客户端库来与.NET的Web服务进行通信。下面我们将详细解析这一过程。 ...
ASP.NET 中使用 C# 调用 Java Web Service ...在 ASP.NET 中使用 C# 调用 Java Web Service 需要了解 Web Service 的基本概念、使用 C# 调用 Java Web Service 和在 ASP.NET 中实现 Web Service 的客户端和服务器端。
总的来说,Java调用Web Service涉及到多个环节,从理解协议和标准,到选择合适的工具和框架,再到实际的编码和测试,每个步骤都需要开发者具备扎实的理论基础和实践经验。通过以上知识点的学习和实践,你将能够熟练...
这个步骤通常涉及使用IDE的工具来自动生成客户端代码,这些代码将根据提供的WSDL文件来调用Web Service。在NetBeans中,你可以通过右击项目,选择“New”>“Other”>“Web Services”>“Web Service Client”,然后...
1. **定义服务接口**:使用Java语言定义服务接口,这些接口代表了对外提供的操作。例如,`public interface MyWebService { public String myMethod(String input); }` 2. **实现服务接口**:创建服务接口的实现类...
总结,Java调用.NET Web服务的过程主要包括理解WSDL,使用JAX-WS生成Java客户端代码,构建并运行客户端,处理异常,以及可能的性能优化和安全措施。在实际开发中,还需要关注兼容性、版本管理和文档记录等方面,确保...
Java Web Service 学习例子,里面有大量用来开发web services的Java程序示例,非常值得学习。 使用到的技术及工具如下: Apache: www.apache.org and xml.apache.org -- Ant 1.4.1 -- SOAP 2.2 -- Tomcat 3.2...
本实例将聚焦于如何使用Java调用天气预报的Web服务,通过分析提供的文件`WeatherUtil.java`,我们可以学习到如何与`webxml.com.cn`的天气预报Web Service接口进行交互。 首先,我们需要理解Web Service的基本概念。...
Java调用天气Web Service的完整项目是开发人员学习和实践中常用的一个示例,它展示了如何在Java环境中通过Eclipse IDE与Web服务进行交互,获取并处理天气数据。在这个项目中,我们将关注以下几个核心知识点: 1. **...
1. **Java调用.NET Web Services** 在Java中调用.NET Web Services主要依赖于SOAP(简单对象访问协议)和WSDL(Web服务描述语言)。首先,你需要生成一个Java Web Service,这可以通过JBuilder完成。在JBuilder中...
本篇将重点讲解如何使用Java调用Web服务,特别是基于.NET平台的ASMX(ASP.NET Web Services)服务。 首先,`AccountService.asmx`和`Service.asmx`是.NET平台创建的ASMX Web服务文件。这些文件包含了定义服务的方法...
本教程主要探讨如何使用Java调用由HessianPHP编写的Web服务。Hessian是一种高效的二进制RPC(远程过程调用)协议,它能够提供轻量级、高效的跨语言通信方式,特别适合于Java和PHP之间的交互。 首先,我们要理解Java...
总的来说,使用Apache Axis调用HTTPS Web Service涉及到了Java的网络编程、SSL/TLS协议以及Web Service的原理。通过理解这些知识点,开发者可以构建安全、可靠的Web Service客户端应用。在实践中,务必关注安全性,...
综上所述,通过Java调用带有JSON参数的WebService,涉及到了Java编程语言的使用、JSON数据格式的处理以及WebService通信机制。开发者需要掌握这些技术来实现不同类型的应用程序之间的互操作性和数据交换。
Java RESTful Web Service实战是Java开发领域中一个重要的实践教程,它主要涵盖了使用Java技术和RESTful架构风格来创建高效、可扩展的网络服务。REST(Representational State Transfer)是一种网络应用程序的设计...
【SAP ABAP调用Java生成的Web Service手册】 在SAP系统中,与外部服务进行交互时,经常需要调用由Java等其他语言编写的Web Service。本手册详细介绍了如何在MyEclipse环境中生成Web Service,并在SAP ABAP环境中...
本文将详细介绍如何使用Java来调用WebServices,并通过具体的例子进行说明。 #### 二、基础知识 1. **WebServices简介**: - WebServices是一种跨平台的服务,用于在分布式环境中提供功能。 - 它们通常基于XML、...