`

Java调用net的webservice故障排除实战分享

 
阅读更多
本文转载自:http://blog.sina.com.cn/s/blog_4c925dca01014y3r.html
前几天公司要接入国外公司的一个业务功能,对方是提供的net产生的webservice,阿堂在用cxf的wsdl2java命令生成客户端的测试代码时,出现了如下故障
WSDLToJava Error: Thrown by JAXB: undefined element declaration 's:schema'

 

Java调用net的webservice故障排除实战分享

于是阿堂(网络时空)在网上查询大量资料和不断实践摸索后,最后发现了如下两种解决方法,希望阿堂(网络时空)的解决过程和总结,能对其它网友解决类似问题,提供借签和参考作用。
第一种方式(仍用cxf 解决)
step1
将 http://test.payserv.net/Paygate/ccservice.asmx?WSDL 对应的内容另存为 ccservice.wsdl

 

Java调用net的webservice故障排除实战分享

这里要特别说明的是,只能通过网页中另存为ccservice.wsdl,不能简单的将网页中的复制后,再粘贴到一个文本文件中,另存为 ccservice.wsdl,这样即使经过下述的 step2后,仍然会报错

 

Java调用net的webservice故障排除实战分享

 

step2
首先将 ccservice.wsdl文件中的如下内容进行如下替换
即将 <s:element ref="s:schema" /><s:any /> 替换成 <s:any minOccurs="2" maxOccurs="2"/>

 

Java调用net的webservice故障排除实战分享

这样处理后,再次运行wsdl2java又报了如下错误

 

Java调用net的webservice故障排除实战分享

阿堂经过仔细查看和分析,原来在ccservice.wsdl文件中,有queryResponse 和 QueryResponse 两个名字的定义,可能在 net中webservice是不区分大小写的,但是在java中生成webservice的客户端时,又是区分大小写的,所以会报上述错误。针对此,阿堂(网络时空)于时将其中的QueryResponse的名字改为了 QueryResponse1,且ccservice.wsdl文件中将所有引用QueryResponse的地方也改成了QueryResponse1。。然后再将运行就一切ok啦

 

Java调用net的webservice故障排除实战分享

Java调用net的webservice故障排除实战分享 

 

 

 

阿堂总结一下

在用cxf的wsdl2java命令处理net或其它语言产生的webservice时,如出现报错,要仔细观察报错信息的描述,通过自己思考和查询网络资源,有针对性的修改,一定是可以解决的。

 

 

第二种方式(用axis的webservice框架 解决)

从阿堂(网络时空)的测试来看,不需要任何修改即可生成websercie的客户端

 

Java调用net的webservice故障排除实战分享

 

不过,要需要axis如下一些jar包才能保证axis产生的webservice的客户端代码正常运行

 

Java调用net的webservice故障排除实战分享

阿堂总结一下

如果用时候发现用cxf的 wsdl2java命令不能正常执行时,不妨考用axix之类的其它webservice框架来解决问题,换一个角度去解决问题。

 

调用方式
Ccservice ccservice = new Ccservice();
CcserviceSoap ccserviceSoap = ccservice.getCcserviceSoap();
ccserviceSoap.query(参数1,参数2,...);

分享到:
评论

相关推荐

    java调用C++ webservice

    本话题主要探讨如何使用Java调用由C++实现的Web服务(Webservice)。在给出的描述中,提到了通过WSDL(Web Services Description Language)文件来实现这一目标。以下是关于这个主题的详细知识点: 1. **Web服务...

    java 调用 odi webservice

    ODI(Oracle Data Integrator)是一种数据集成平台,提供了webservice接口,允许用户通过webservice调用ODI方案执行,从而实现数据的同步。 在本文档中,我们将通过 Java 应用程序调用 ODI webservice,实现数据的...

    java调用webservice.zip

    java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...

    C#调用JavaWebService

    调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...

    JAVA 调用SAP SOAP webservice.docx

    在本文中,我们将详细介绍如何使用 JAVA 调用 SAP SOAP webservice,包括配置 SAP 登录信息、创建 java 项目、添加 web 服务客户端、生成 JAVA 类、调用接口等步骤。 配置 SAP 登录信息 在使用 JAVA 调用 SAP SOAP...

    java使用XFire调用webService接口

    "Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...

    java调用json参数的webservice

    为了使得Java客户端能够调用WebService服务,需要使用一些工具,例如JAX-WS(Java API for XML Web Services),它是Java SE的一部分,用于创建WebService客户端和服务端。 综上所述,通过Java调用带有JSON参数的...

    java android 调用webservice

    本篇将详细讲解如何在Android应用中使用Java调用Webservice。 一、理解Web服务 Web服务是一种基于互联网的、标准化的服务交互方式,它允许不同系统之间的应用程序共享数据和功能。常见的Web服务有SOAP(Simple ...

    java 调用https webservice实例及axis包

    2. **生成客户端代理类**:使用Axis的`wsdl2java`工具,从Web Service的WSDL(Web Service描述语言)文件生成Java客户端代理类。这一步可以通过命令行或者Ant脚本完成。 3. **配置HTTPS**:在生成的客户端代码中,...

    Java调用C#的WebService例子

    Java调用C#的WebService是跨平台间通信的一种常见方式,尤其在企业级应用中,可能需要集成不同语言开发的服务。本示例介绍如何在Java环境中利用Xfire库来调用C#编写的WebService服务。 首先,理解WebService的核心...

    C#调用java发布的WebService终稿.pdf

    C# 调用 Java 发布的 WebService 终稿是指使用 C# 语言调用 Java 语言发布的 WebService。这意味着,我们将使用 C# 语言编写的客户端程序来调用 Java 语言发布的 WebService。 描述解释 本文档的描述是指 C# 调用 ...

    java axis 调用webservice服务端

    在Java中,使用Axis调用WebService服务端主要涉及以下几个步骤: 1. **创建WebService客户端 stub**:首先,我们需要从服务端提供的WSDL文件生成客户端stub代码。这可以通过Axis的wsdl2java工具完成。运行该工具并...

    java 调用 webService工具类

    在Java中,大多数传统的WebService调用使用SOAP,这是一个基于XML的消息传递协议。SOAP消息封装在HTTP请求中,使得跨平台的数据交换成为可能。Java中的JAX-WS(Java API for XML Web Services)框架是处理SOAP ...

    JAVA调用WEBSERVICE接口

    JAVA调用WEBSERVICE接口

    JAVA调用webservice并解析xml

    2. **创建WebService客户端**:使用WSDL(Web Service Description Language)文件,你可以自动生成Java客户端代码。Eclipse和MyEclipse都有工具可以做到这一点。WSDL文件描述了Web服务的接口、操作、消息格式等。 ...

    PB调用JAVA WEBSERVICE实例

    因此,使用Java的Axis工具创建Web服务,可以更好地适应PB的调用需求。Axis为开发者提供了一个简单的方法来生成服务端代码,以及客户端所需的代理类,使得PB能够理解和与这些Web服务进行交互。 在PB中调用Java Web...

    用Java程序访问Net WebService.doc

    通过本文的介绍,读者可以了解如何使用 Java 程序来访问 Net WebService,从而实现跨语言的WebService 调用。 五、 附加知识点 * Apache Axis:一个开源的WebService 服务器端框架,支持多种编程语言,包括 Java、...

    Java使用SOAP获取webservice实例解析

    ### Java使用SOAP获取WebService实例解析 #### WebService简介 WebService是一种跨编程语言和操作系统平台...通过以上步骤,你可以成功地使用Java通过SOAP协议获取WebService实例,并对其实现过程有了更深入的理解。

    Java调用ASP.NET的WebService接口实例

    Java调用.NET的WebService接口实例,jar包删减到三个,干净清爽,里面包含注多注释和图解,搞了半天的家伙拿出来与大家分享,无任何BUG,修改里面的参数即可直接运行,对于这种好东西,花了半天时间10分不算高,重在...

    .net调用java WebService

    ### .NET调用Java WebService的关键知识点 #### 一、背景与原理介绍 在实际的软件开发过程中,不同技术栈之间的交互变得越来越普遍。对于.NET应用程序来说,有时需要调用由Java开发的WebService。这种跨平台的服务...

Global site tag (gtag.js) - Google Analytics