一、环境配置
首先,没有Java开发环境的,需要安装一下环境,点这里查看《Java开发环境的详细配置方法
》,其实,本示例安装JDK 1.42以及Eclipse 3.2就可以了。
二、将Apache Axis相关包文件放在WEB-INF\lib目录下
从Apache的主页上下载Axis包文件,复制到lib目录下。
三、申请Google SOAP Search API license key
要使用Google的服务,必须要有“license key”,如果你有Gmail帐号,点这里
就可以申请license key,这个license key是一段很长的字符串,每个key可以支持每天1000次的Google搜索。
四、下载WSDL文件,生成客户端Java代码
WSDL文件的下载地址参见:http://api.google.com/GoogleSearch.wsdl
生成客户端代码的批处理文件如下:
set Axis_Lib=D:\workspace\test\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\test\src
set Package=com.google.api
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% GoogleSearch.wsdl
最后会生成下列代码文件:
DirectoryCategory.java
GoogleSearchBindingStub.java
GoogleSearchPort_PortType.java
GoogleSearchResult.java
GoogleSearchService.java
GoogleSearchServiceLocator.java
ResultElement.java
五、编写程序,调用Google SOAP Search API
在上面那个包下,编写你自己的Java程序,就可以调用Google SOAP Search API.目前可以使用的Google服务有:网页搜索,网页快照,拼写检查这三个。
Java示例代码如下,请使用前将clientKey替换为你自己的。替换后直接运行即可得出结果。
package com.google.api;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
public class ClientGoogle {
? public static void main(String[] args) throws ServiceException,
??? RemoteException {
??? String clientKey = "kkkkkkkkkkkkkkkkkkkkkkkkkkey";
??? GoogleSearchServiceLocator service = new GoogleSearchServiceLocator();
??? GoogleSearchPort_PortType gsp = service.getGoogleSearchPort();
??? //Google Search API
??? GoogleSearchResult searchResult = gsp.doGoogleSearch(clientKey,
??????? "www.williamlong.info", 0, 10, false, "", false, "", "latin1",
??????? "latin1");
??? System.out.println("Google Search Results:");
??? System.out.println("======================");
??? ResultElement results[] = searchResult.getResultElements();
??? for (int counter = 0; counter < results.length; ++counter) {
????? ResultElement result = results[counter];
????? String returnResult = "('" + result.getTitle() + "','"
????????? + result.getURL() + "','" + result.getSnippet() + "')";
????? System.out.println("Return Result");
????? System.out.println(returnResult);
??? }
??? //Google CachedPage
??? byte[] cachedBytes = gsp.doGetCachedPage(clientKey,
??????? "http://www.williamlong.info/");
??? System.out.println("Cached page:");
??? System.out.println("============");
??? String cachedString = new String(cachedBytes);
??? System.out.println(cachedString);
??? //Google SpellingSuggestion
??? String suggestion = (String) gsp.doSpellingSuggestion(clientKey,
??????? "williamlong");
??? System.out.println(suggestion);
? }
}
当然,你也可以不使用Apache Axis,Google自己也提供了一个API包可以做为客户端调用,下载地址参见这里
。
最后声明一下,Google SOAP Search API是属于实验产品,每个license每天最多只允许搜索一千次,其许可协议注明不能使用于商业模式的网站,而对于个人研究来说,每天一千次的搜索也就足够了。
相关专业名词解释:
Web Service:是一种革命性的分布是计算技术。它使用基于XML的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异,使异类系统能够作为计算网络的一部分协同运行。开发人员可以使用像过去创建分布式应用程序时使用组件的方式,创建由各种来源的Web服务组合在一起的应用程序。由于Web服务是建立在一些通用协议的基础上,如HTTP(Hypertext Transfer Protocol, WWW服务程序所用的协议),SOAP(Simple Object Access Protocol,简单对象访问协议),XML,WSDL(Web Services Description Language,Web服务描述语言),UDDI(Universal Description,Discovery,and Integration,通用描述发现和集成协议)等,这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此Web服务将会有很强的生命力。
SOAP:是“Simple Object Access Protocol”的缩写,SOAP是消息传递的协议,它规定了Web Services之间是怎样传递信息的。简单的说,SOAP规定了:
1. 传递信息的格式为XML.这就使Web Services能够在任何平台上,用任何语言进行实现。
2. 远程对象方法调用的格式。规定了怎样表示被调用对象以及调用的方法名称和参数类型等。
3. 参数类型和XML格式之间的映射。这是因为,被调用的方法有时候需要传递一个复杂的参数,例如,一个Person对象。怎样用XML来表示一个对象参数,也是SOAP所定义的范围。
WSDL:是“Web Services Description Language”的缩写。WSDL是Web Services的定义语言。当实现了某种服务的时候(如:股票查询服务),为了让别的程序调用,必须告诉大家服务接口。例如:服务名称,服务所在的机器名称,监听端口号,传递参数的类型,个数和顺序,返回结果的类型等等。这样别的应用程序才能调用该服务。WSDL协议就是规定了有关Web Services描述的标准。
UDDI:是“Universal Description, Discovery,and Integration”的缩写。简单说,UDDI用于集中存放和查找WSDL描述文件,起着目录服务器的作用。
XML:(eXtensible Markup Language,可扩展标记语言)是Internet上数据表示和数据交换的新标准。它是ISO(International Organization for Standardization,国际标准化组织)的SGML(Standard for General Markup Language,通用标记语言标准)的一个简化子集。XML关注信息本身,是Web上表示结构化信息的一种标准文本格式。与传统的注重页面信息显示的HTML(Hypertext Markup Language, 超文本链接标示语言)相比,关注于内容的XML具有以下诸多优点:良好的可扩展性,语言简单有效,可自行定义标记;内容与形式的分离,主要刻画数据内容,不考虑显示效果;有严格的语法要求,便于分析统一和与数据库信息转换;便于传输,为纯文本形式,可通过Http协议直接传输,可跨越防火墙;等等。XML的出现和发展对于Internet和Intranet产生了巨大的影响。
相关推荐
Java调用SOAP(Simple Object Access Protocol)接口是Web服务交互中的常见操作,SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。本案例主要关注如何使用Java来实现SOAP请求并获取响应,具体我们...
WebAPI调用是软件开发中常见的一种技术,主要用于应用程序与服务器端进行数据交互。在这个场景中,我们讨论的是一个名为"opensinaapi1.0beta3"的压缩包,它包含了一个用于测试新浪API的代码库。新浪API是新浪提供的...
标题"D6 SOAP_WEB SERVICE"指的是使用Delphi编程语言开发基于SOAP(简单对象访问协议)的Web服务。在本文中,我们将深入探讨这个主题,了解如何使用Delphi构建Web服务以及SOAP在其中的作用。 首先,让我们了解一下...
总的来说,通过Web Service调用打印机打印自定义表单涉及到Web服务设计、前端表单绘制、数据转换、打印机API理解和安全控制等多个方面。开发者需要综合运用多种技术和工具,才能实现这个功能,并确保其稳定可靠。...
这样,每次通过客户端代理调用Web Service时,都会自动添加预设的SOAP Header,从而实现身份验证和其他自定义功能。请注意,实际项目中需要替换`your_username`和`your_password`为真实的用户名和密码。同时,为了...
- 通过使用SOAP可以构建远程过程调用(RPC)风格的服务,这种方式简化了客户端与服务器之间的交互过程。 - **3.6 SOAP的数据编码** - SOAP支持多种数据编码方式,例如XML编码和二进制编码,以适应不同的应用场景。...
本话题将深入探讨如何使用VB调用Web API来打开第三方图纸,这通常涉及到跨平台数据访问和集成。 首先,我们需要理解VB调用Web API的基本原理。在VB中,可以使用`HttpClient`类来发送HTTP请求到Web API。这个过程...
在本案例中,开发者可能已经创建了一个库或类,以便通过PHP调用Google的搜索服务,执行关键词查询、获取搜索结果等操作。 【描述】"基于PHP的Googleluhui SOAP Search API Beta PHP.zip" 描述的是一个处于测试阶段...
本实列模拟windows服务定时调用WebApi接口,采集第三方的电子处方数据,并提供第三方所需SQL视图,代码功能及实现逻辑测试可用,内附流程图及数据库安装脚本。因本程序调用的是第三方接口,需要在内网环境调用(如需...
第一章 SOAP和Web Service的概念 第二章 组件模型、Internet/Intranet和SOAP 第三章 开发Web Service 第四章 什么是SOAP 第五章 SOAP和数据封装 第六章 SOAP和远程调用 第七章 Web Service和UDDI 第八章 处理复杂...
基于c#实现的webapi调用软件,用于请求web服务,尤其是通过aistudio平台部署的深度学习模型。如果您的自己的webapi接口返回的也是json格式的信息,也可以使用本软件进行请求调用。只是在请求服务前,一定要点击软件...
【Googleluhui SOAP Search API v1.0 Beta】是一个早期的搜索引擎接口,它允许开发者通过SOAP(简单对象访问协议)来与Google的搜索服务进行交互。SOAP是一种基于XML的协议,用于在Web上交换结构化和类型化的信息。...
java调用.NET webAPI httpclient-4.2.5.jar httpclient-cache-4.2.5.jar httpcore-4.2.4.jar httpmime-4.2.5.jar fluent-hc-4.2.5.jar commons-codec-1.6.jar
就是一个应用程序它向外界暴露出一个能够通过Web进行调用的API。这就是说你能 够用编程的方法通过Web来调用这个应用程序。 对Web service 更精确的解释 Web services是建立可互操作的分布式应用程序的新...
本文将深入探讨如何创建Web应用程序和服务以及如何进行Web Service调用,并基于提供的源码进行详细讲解。 首先,让我们理解Web应用程序和服务的基础概念。Web应用程序是在Web服务器上运行的软件,用户可以通过...
Web Service 是一种跨编程语言和跨操作系统平台的远程调用技术,通过 SOAP 在 Web 上提供的软件服务,使用 WSDL 文件进行说明,并通过 UDDI 进行注册。XML 是 Web Service 的基础,它是扩展型可标记语言,面向短期的...
调用pb开发的webserver(SOAP 1.2) /* POST /webservice/n_webservice.asmx HTTP/1.1 Host: localhost Content-Type: application/soap+xml; charset=utf-8 Content-Length: length <soap12:Envelope xmlns:xsi=...
webapi 项目平台,包含接口生成,及接口调用方法,项目代码清晰明了,非常值得初学者参考借鉴,更具体的开发步骤可以登入我的博客查看:http://www.cnblogs.com/gudaozi/p/8384734.html
JAVA 调用 SAP SOAP webservice 详解 在本文中,我们将详细介绍如何使用 JAVA 调用 SAP SOAP webservice,包括配置 SAP 登录信息...通过遵循这些步骤,我们可以轻松地调用 SAP SOAP webservice,以满足实际业务需求。
网络上很多基于ksoap2开发包的WEB SERVICE调用,虽然ksoap2不大,...本代码可以基于http协议,拼凑SOAP协议,完成.net以及java开发的web service调用。供大家分享!内部也有一例是基于ksoap2开发包的web service调用