- 浏览: 416129 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
u010620626:
foreach是最快的,因为php的array内部元素之间有指 ...
[流言终结者] PHP for / foreach / while 性能比较 -
ostrich_sun:
谢楼主
Sybase PowerDesigner 12.5 破解补丁/序列号/注册码 -
xuxueqin29:
为什么我这边用不上
Sybase PowerDesigner 12.5 破解补丁/序列号/注册码 -
sdpfoue:
http://www.php-internals.com/bo ...
[流言终结者] PHP for / foreach / while 性能比较 -
nakupanda:
<div class="quote_title ...
java调用microsoft translate api webservice
想做个东西简体转繁体,找到微软的API可用:
http://msdn.microsoft.com/en-us/library/ff512423.aspx
感觉这个要比GOOGLE的好,因为微软的接口会将一些词汇差异也体现出来,比如"服务器"转换为"伺服器","软件"转换为"软体".
嗯,现在的api已经不支持通过appid调用api了,改成了access token,需要后台通过http post请求到bing去获取一个access token,然后通过这个东西再去请求api,上面代码是C#的,可惜我不懂,我现在问题就是用java实现下面这段代码,之前没坐过java的http访问,如果你懂C#的话麻烦看下这段代码,不懂就算了
的确不懂
嗯,现在的api已经不支持通过appid调用api了,改成了access token,需要后台通过http post请求到bing去获取一个access token,然后通过这个东西再去请求api,上面代码是C#的,可惜我不懂,我现在问题就是用java实现下面这段代码,之前没坐过java的http访问,如果你懂C#的话麻烦看下这段代码,不懂就算了
如果要实现“TranslateArray Method”这个方法的是要怎么弄呢?
http://msdn.microsoft.com/en-us/library/ff512423.aspx
感觉这个要比GOOGLE的好,因为微软的接口会将一些词汇差异也体现出来,比如"服务器"转换为"伺服器","软件"转换为"软体".
package test; import javax.xml.namespace.QName; import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class Test { public static void main(String[] args) throws Exception{ //message to be translated String str = "服务器硬盘软件数据库程序设计"; String method = "Translate"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL("http://api.microsofttranslator.com/V2/Soap.svc")); call.setOperationName(new QName("http://api.microsofttranslator.com/V2",method)); call.addParameter(new QName("http://api.microsofttranslator.com/V2","appId"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.addParameter(new QName("http://api.microsofttranslator.com/V2","text"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.addParameter(new QName("http://api.microsofttranslator.com/V2","from"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.addParameter(new QName("http://api.microsofttranslator.com/V2","to"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.setUseSOAPAction(true); call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING); call.setSOAPActionURI("http://api.microsofttranslator.com/V2/LanguageService/Translate"); String result = (String)call.invoke(new Object[]{"YOUR APPID HERE",str,"zh-CHS","zh-CHT"}); //result System.out.println(result); } }
评论
7 楼
nakupanda
2012-08-22
lovelease 写道
nakupanda 写道
你应该去阅读一下现在的API DOC, 这篇文章已经是2年前的了...
嗯,现在的api已经不支持通过appid调用api了,改成了access token,需要后台通过http post请求到bing去获取一个access token,然后通过这个东西再去请求api,上面代码是C#的,可惜我不懂,我现在问题就是用java实现下面这段代码,之前没坐过java的http访问,如果你懂C#的话麻烦看下这段代码,不懂就算了
private AdmAccessToken HttpPost(string DatamarketAccessUri, string requestDetails) { //Prepare OAuth request WebRequest webRequest = WebRequest.Create(DatamarketAccessUri); webRequest.ContentType = "application/x-www-form-urlencoded"; webRequest.Method = "POST"; byte[] bytes = Encoding.ASCII.GetBytes(requestDetails); webRequest.ContentLength = bytes.Length; using (Stream outputStream = webRequest.GetRequestStream()) { outputStream.Write(bytes, 0, bytes.Length); } using (WebResponse webResponse = webRequest.GetResponse()) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(AdmAccessToken)); //Get deserialized object from JSON stream AdmAccessToken token = (AdmAccessToken)serializer.ReadObject(webResponse.GetResponseStream()); return token; } }
的确不懂
6 楼
lovelease
2012-08-21
nakupanda 写道
你应该去阅读一下现在的API DOC, 这篇文章已经是2年前的了...
嗯,现在的api已经不支持通过appid调用api了,改成了access token,需要后台通过http post请求到bing去获取一个access token,然后通过这个东西再去请求api,上面代码是C#的,可惜我不懂,我现在问题就是用java实现下面这段代码,之前没坐过java的http访问,如果你懂C#的话麻烦看下这段代码,不懂就算了
private AdmAccessToken HttpPost(string DatamarketAccessUri, string requestDetails) { //Prepare OAuth request WebRequest webRequest = WebRequest.Create(DatamarketAccessUri); webRequest.ContentType = "application/x-www-form-urlencoded"; webRequest.Method = "POST"; byte[] bytes = Encoding.ASCII.GetBytes(requestDetails); webRequest.ContentLength = bytes.Length; using (Stream outputStream = webRequest.GetRequestStream()) { outputStream.Write(bytes, 0, bytes.Length); } using (WebResponse webResponse = webRequest.GetResponse()) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(AdmAccessToken)); //Get deserialized object from JSON stream AdmAccessToken token = (AdmAccessToken)serializer.ReadObject(webResponse.GetResponseStream()); return token; } }
5 楼
nakupanda
2012-08-20
你应该去阅读一下现在的API DOC, 这篇文章已经是2年前的了...
4 楼
lovelease
2012-08-20
我在下面这句代码YOUR APPID HERE中设定了自己的appid,但是还是抛错,请问为什么:
报的错是:
AxisFault
faultCode: {http://schemas.microsoft.com/ws/2005/05/addressing/none}ActionNotSupported
faultSubcode:
faultString: The message with Action 'http://api.microsofttranslator.com/V2/Soap.svc/Translate' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
String result = (String)call.invoke(new Object[]{"YOUR APPID HERE",str,"zh-CHS","zh-CHT"});
报的错是:
AxisFault
faultCode: {http://schemas.microsoft.com/ws/2005/05/addressing/none}ActionNotSupported
faultSubcode:
faultString: The message with Action 'http://api.microsofttranslator.com/V2/Soap.svc/Translate' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
3 楼
lovelease
2012-08-17
要调用ms translate api,不是需要appid吗,但是从你的程序来看,这一句代码能将自己的appid写入吗
我现在遇到的问题是,明显是appid不正确嘛:
ArgumentException: Invalid appId
Parameter name: appId : ID=2241.V2_Soap.Translate.28E76E27
call.addParameter(new QName("http://api.microsofttranslator.com/V2","appId"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
我现在遇到的问题是,明显是appid不正确嘛:
ArgumentException: Invalid appId
Parameter name: appId : ID=2241.V2_Soap.Translate.28E76E27
2 楼
nakupanda
2012-08-14
好久没弄, 我也不清楚了
1 楼
cmm
2012-08-13
如果要实现“TranslateArray Method”这个方法的是要怎么弄呢?
发表评论
-
java 线程池
2011-02-11 23:19 1101package test; import java. ... -
axis 1.4 使用 digest authentication
2011-01-15 11:41 22061, 配置client-config.wsdd, 其中一个方法 ... -
[转]java中byte转换int时为何与0xff进行与运算
2010-12-01 15:15 1657在剖析该问题前请看如 ... -
java 位操作
2010-12-01 14:05 1025以下是java位操作符的小总结,具体如下: 二进制负数以它正 ... -
JAVA 进制表示
2010-11-30 10:25 1829由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使 ... -
Java 获得文件编码
2010-04-15 10:24 1581package cn.net.badboy.subtitl ... -
解决 STRUTS2 GET 参数中文乱码问题
2010-03-10 11:39 7098STRUTS2中使用GET中文参数乱码问题,网上讨论这个问题的 ... -
struts2 if 中使用请求参数parameters
2010-03-09 11:32 1553#parameters.station[0]相当于<%= ... -
Google Sitemap 生成工具
2010-02-02 11:51 796如题如题 使用方式见压缩包内readme.txt ... -
xml java 类映射工具
2010-01-05 08:34 1109http://www.iteye.com/news/12756 ... -
只读的JTable
2009-10-26 09:33 1647JTable table = new JTable( ... -
JLabel中的鼠标形状
2009-10-20 08:39 1390JLabel label = new JLabel(&qu ... -
一个JUNIT4测试
2009-10-15 11:22 1303/** * */ package bookst ... -
一个提取EMAIL的正则表达式
2009-10-08 10:27 1206Pattern p = Pattern.c ... -
TextAnalyser ,分析文本中的字母出现次数、百分比等
2009-04-12 06:13 1306碰巧要做这个作业的同学低调地参考一下 public ... -
输出指定小数位数double值
2009-04-12 05:34 2773new java.math.BigDecimal(myDoub ... -
Spring简单使用
2009-03-20 12:21 1125时间: 2007-12-19 使用Spring的一些好处: ... -
使用ant构建应用
2009-03-20 12:19 1236时间: 2007-12-18 使用an ... -
一个switch中的关于变量声名和使用的问题
2009-03-20 12:17 1118时间: 2007-12-17 先看看几句简单的代码 ... -
使用JDOM生成XML树和输出XML信息或文件
2009-03-20 12:16 1445时间: 2007-12-17 package cn.ba ...
相关推荐
为了使得Java客户端能够调用WebService服务,需要使用一些工具,例如JAX-WS(Java API for XML Web Services),它是Java SE的一部分,用于创建WebService客户端和服务端。 综上所述,通过Java调用带有JSON参数的...
使用Java调用webservice服务,工具类中获取天气服务,可根据官方api进行修改
Java调用.NET的WebService接口实例,jar包删减到三个,干净清爽,里面包含注多注释和图解,搞了半天的家伙拿出来与大家分享,无任何BUG,修改里面的参数即可直接运行,对于这种好东西,花了半天时间10分不算高,重在...
在本文中,我们将详细介绍如何使用 JAVA 调用 SAP SOAP webservice,包括配置 SAP 登录信息、创建 java 项目、添加 web 服务客户端、生成 JAVA 类、调用接口等步骤。 配置 SAP 登录信息 在使用 JAVA 调用 SAP SOAP...
java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...
"Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...
调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...
ODI(Oracle Data Integrator)是一种数据集成平台,提供了webservice接口,允许用户通过webservice调用ODI方案执行,从而实现数据的同步。 在本文档中,我们将通过 Java 应用程序调用 ODI webservice,实现数据的...
本话题主要探讨如何使用Java调用由C++实现的Web服务(Webservice)。在给出的描述中,提到了通过WSDL(Web Services Description Language)文件来实现这一目标。以下是关于这个主题的详细知识点: 1. **Web服务...
Java调用C#的WebService是跨平台间通信的一种常见方式,尤其在企业级应用中,可能需要集成不同语言开发的服务。本示例介绍如何在Java环境中利用Xfire库来调用C#编写的WebService服务。 首先,理解WebService的核心...
本文将详细讲解如何使用Java调用.NET发布的Web Service(ASMX),并解决在此过程中可能出现的SOAPAction报错和“Server not identified”错误。 首先,我们需要了解ASMX。ASMX是.NET Framework早期版本中用于创建...
Java客户端使用Apache Axis库来调用PHP Webservice服务。 ##### 1. 创建Service实例 ```java Service service = new Service(); ``` 创建一个新的`Service`对象。 ##### 2. 创建Call实例 ```java Call call = ...
6. **文档和资源**:"doc"目录可能包含Axis的API文档,帮助理解如何使用相关类和方法。"res"目录可能包含证书文件或者其他的资源,例如自签名证书,用于测试环境。 在实际开发中,你还需要了解和处理如证书链、信任...
本篇将详细讲解如何在Android应用中使用Java调用Webservice。 一、理解Web服务 Web服务是一种基于互联网的、标准化的服务交互方式,它允许不同系统之间的应用程序共享数据和功能。常见的Web服务有SOAP(Simple ...
通过上述步骤,我们成功地创建了一个 C# 的 Web Service,并且使用 Java 实现了对其的远程调用。这种跨语言的交互方式极大地增强了系统的灵活性和可扩展性,是分布式应用开发中不可或缺的一部分。在未来的工作中,...
C# 调用 Java 发布的 WebService 终稿是指使用 C# 语言调用 Java 语言发布的 WebService。这意味着,我们将使用 C# 语言编写的客户端程序来调用 Java 语言发布的 WebService。 描述解释 本文档的描述是指 C# 调用 ...
本主题将深入探讨如何使用C#来调用带有身份验证的Java Web服务。Web服务作为一种基于标准的通信方式,允许不同语言和平台之间的应用程序共享数据和功能。在这个案例中,我们将重点关注C#与Java之间的交互,特别是...
### Java使用SOAP获取WebService实例解析 #### WebService简介 WebService是一种跨编程语言和操作系统平台的、在网络上进行数据交换的一种方式。它使用标准的Internet协议,如HTTP、XML、SOAP等来实现不同系统间的...
【SAP ABAP调用Java生成的Web Service手册】 在SAP系统中,与外部服务进行交互时,经常需要调用由Java等其他语言编写的Web Service。本手册详细介绍了如何在MyEclipse环境中生成Web Service,并在SAP ABAP环境中...
3. **Java中的SOAP调用**:在Java中,我们通常使用JAX-WS(Java API for XML Web Services)框架来处理SOAP通信。JAX-WS提供了多种工具,如wsimport,可以从WSDL文件生成客户端代理类。这些代理类提供了调用Web服务...