java 访问webservice接口_java访问WebService接口 | 学步园

本文记录了在使用Java访问WebService接口时遇到的三个主要问题:1)Saaj识别Content-Type错误,解决方案包括切换到SOAP 1.2或设置SoapAction;2)部署到服务器时出现的类路径问题,解决办法是删除服务器上的旧axis相关包并引入正确版本的SAAJ包;3)返回的SOAP消息中业务标签尖括号被转义,需要进行正确的XML解析处理。
摘要由CSDN通过智能技术生成

前段时间做一个用户接口,对方提供WebService方式的接口供调用,记录遇到的几个问题

1、Soap1.1、Soap1.2与SoapAction

错误描述:用saaj访问axis2构建的WS,返回错误消息:

com.sun.xml.internal.messaging.saaj.soap.MessageImpl identifyContentType

严重: SAAJ0537: Invalid Content-Type. Could be an error message instead of a SOAP message

com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Invalid Content-Type:application/xml. Is this an error message instead of a SOAP response?

at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:146)

错误分析:返回的Soap消息的Content-Type是application/xml,saaj不识别此

Content-Type,认为返回的不是Soap响应

原因:1)客服端saaj能识别的Content-Type为text/xml和application/soap+xml

2)axis2返回的为application/xml,之所以返回此类型,是因为axis2根

Java访问WebService接口的方法有很多种,下面我来介绍一种常用的方法。 Java通过SOAP协议来访问WebService接口,首先需要在项目中引入相关的依赖库,如Apache Axis、Apache CXF等,这些库提供了一些工具类和方法,方便我们使用SOAP协议进行通信。 接下来,我们需要创建一个客户端来调用WebService接口。首先,需要通过WSDL文件生成客户端代码,可以使用Apache Axis提供的工具来生成。生成代码后,我们就可以使用该代码来调用WebService接口了。 在调用WebService接口之前,我们需要创建一个客户端实例。可以通过调用生成的代码中的构造方法来创建。然后,通过该客户端实例,我们就可以调用接口中的各个方法了。 在调用方法之前,我们需要先构造请求报文。根据接口的要求,可以通过设置参数或构建请求数据等方式来构造请求报文。 最后,调用接口方法并获取返回结果。调用方法时,我们需要将构造好的请求报文传入,并获取返回结果,可根据接口定义的返回数据结构来处理返回结果。 需要注意的是,调用WebService接口需要保证接口的可用性,网络连接的可靠性,以及接口的权限等方面的问题。如果出现异常,可以通过日志记录和异常捕获等方式来进行处理。 以上是一种常用的Java访问WebService接口的方法,当然还有其他的方法,可以根据具体的需求进行选择和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值