webservice 方法如下 :
public GWDDNSQueryBean GWDDNSQueryInvoke(WebServiceClient wsclient,String ID) {
try {
Service service = new Service();
Call call = (Call) service.createCall();
QName qn = new QName("GWQuery", wsclient.getWebFuncName());
QName qn1 = new QName("GWQuery", "GWDDNSQueryBean");
call.registerTypeMapping(GWDDNSQueryBean.class, qn1, new BeanSerializerFactory(GWDDNSQueryBean.class,
qn1), new BeanDeserializerFactory(GWDDNSQueryBean.class, qn1));
call.setTargetEndpointAddress(new java.net.URL(wsclient.getWebServiceURL()));
call.setOperationName(qn);
call.setOperationStyle(org.apache.axis.constants.Style.RPC);
call.setOperationUse(org.apache.axis.constants.Use.ENCODED);
call.addParameter("arg1",org.apache.axis.encoding.XMLTYPE.XSD_STRING, ParameterMode.IN);
call.setReturnType(qn1, GWDDNSQueryBean.class);
Object[] parameters = new Object[] {ID};
GWDDNSQueryBean resultBean=(GWDDNSQueryBean) call.invoke(parameters);
return resultBean;
} catch (Exception e) {
CAP.trException(e);
return null;
}
}
出现了序列化错误:
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
本来返回值call.registerTypeMapping方法已经处理过了,但还是报错
弄了好长时间搞定,去掉了几个地方,将方法换成如下:
public GWDDNSQueryBean GWDDNSQueryInvoke(WebServiceClient wsclient, String ID) {
try {
Service service = new Service();
Call call = (Call) service.createCall();
QName qn = new QName("GWQuery", wsclient.getWebFuncName());
call.setTargetEndpointAddress(new java.net.URL(wsclient.getWebServiceURL()));
call.setOperationName(qn);
call.setReturnClass(GWDDNSQueryBean.class);
Object[] parameters = new Object[] { ID };
GWDDNSQueryBean resultBean = (GWDDNSQueryBean) call.invoke(parameters);
return resultBean;
} catch (Exception e) {
CAP.trException(e);
return null;
}
}
很郁闷 !!!
分享到:
相关推荐
本文将深入探讨在Java环境中调用WebService的五种主要方式:Axis、CXF、HttpClient、MyEclipse反向生成以及XFire。 1. Axis:Apache Axis是最早且广泛使用的SOAP库,用于创建和消费Web服务。使用Axis调用WebService...
【Webservice调用工具】 Webservice调用工具是专门用于测试和交互Web服务的软件,它们使得开发者能够方便地发送请求并接收响应,以便验证Web服务的功能和性能。Web服务通常基于SOAP(Simple Object Access Protocol...
【标题】:“C# WebService调用测试工具” 在IT领域,Web Service是一种基于网络的、松散耦合的软件组件,它允许不同系统之间的数据交换。C# WebService调用测试工具是专为开发者设计的,用于测试和调试Web Service...
本示例主要关注的是如何使用Java进行WebService调用,这在企业级应用开发中非常常见,特别是在需要跨平台集成时。以下是关于这个主题的一些详细知识点: 1. **WebService的基本概念**: WebService是一种基于开放...
【标题】:“webService调用实例 Demo” 在IT行业中,Web Service是一种常见的应用程序接口(API)形式,它允许不同系统间的交互,无论它们是用何种编程语言或运行在何种操作系统上。本“webService调用实例 Demo”...
【标题】"超简单的webservice调用"涉及的是在Java环境下使用Hutool库进行Web Service接口调用的基础知识。Web Service是一种基于网络的、松散耦合的软件组件交互方式,它允许不同系统间的应用共享数据和服务。在这个...
### SAP-WEBSERVICE调用案例 #### 一、引言 随着企业信息化建设的深入发展,SAP作为企业管理软件的佼佼者,在业务流程整合与优化方面扮演着至关重要的角色。而Web Service作为一种标准的跨平台服务交互方式,使得...
WebService调用测试工具,支持大部分wsdl调用。
7. **异常处理**:在调用过程中可能出现网络错误、服务端错误等问题,需要编写适当的异常处理代码来捕获并处理这些问题。 在实际应用中,Web Service接口调用还涉及到安全性、性能优化和版本控制等话题。例如,可以...
在本主题中,我们将深入探讨如何使用WSDL生成WebService接口以及编写Test调用方法进行测试。 1. WSDL基础 WSDL文件是一个XML文档,它描述了服务的位置(endpoint)、使用的消息格式(message)和服务提供的操作...
**WebService调用技术文档** **一、WebService简介** WebService是一种基于开放标准的Web应用程序,它能够提供跨平台、跨语言的互操作性。通过使用XML(可扩展标记语言)进行数据交换,SOAP(简单对象访问协议)...
在VC++中调用WebService服务是一项常见的任务,尤其在跨平台通信、系统集成或扩展应用程序功能时。WebService是一种基于Web的、松耦合的服务,它使用标准的HTTP协议进行通信,并通过XML(eXtensible Markup Language...
相信大家在调用rest webservice通常使用httpclient.该示例代码是使用httpconnection的形式,以POST和GET两种方式提交调用REST WebService。在项目中一直使用的工具类,分享给大家
短信验证码Webservice调用是现代Web应用中常见的一种安全验证机制...总之,短信验证码Webservice调用是提升用户体验和系统安全的重要手段。通过合理的API设计和安全实践,我们可以构建一个高效、可靠的短信验证码系统。
挺好用的webservice开发工具.直接输入webservice地址,然后输入入参,即可调用.
**MVC调用WebService详解** 在C#的MVC(Model-View-Controller)框架中,调用WebService是一项常见的任务,通常用于实现客户端与服务器之间的数据交互。在本例中,我们将探讨如何在MVC应用中使用JavaScript进行异步...
Web服务(WebService)是一种基于标准协议的,可互操作的软件接口,允许不同系统之间进行数据交换和功能调用。在本案例中,我们将重点讨论如何使用Axis框架来调用Web服务并传递参数。 首先,我们需要理解Web服务的...
### WebService调用常见问题详解 #### 一、概述 在使用Visual Studio 2008进行Web开发的过程中,开发者可能会遇到一个常见的问题:在建立了Web Service应用程序之后,尝试在ASP.NET环境中调用该服务时,往往会出现...
在WinForm应用程序中调用WebService是一项常见的任务,它允许客户端应用程序与远程服务器上的服务进行交互,从而实现数据交换和功能扩展。以下是如何在WinForm中实现这一操作的详细步骤及涉及的相关知识点: 1. **...