由于WebService接口是按照分页来获取数据,所以当需要获取全部数据时,就需要循环获取多次!但是在循环调用的过程中,执行到302次时,就出现了异常:
异常信息如下:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.NullPointerException
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:WWW-C09C0AC6275
java.lang.NullPointerException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.peaksport.service.client.StockGoodsinfoClient.update2Goodsinfo(StockGoodsinfoClient.java:57)
at com.peaksport.service.client.StockGoodsinfoClient.main(StockGoodsinfoClient.java:71)
调用WebService客户端的代码如下:
public void update2Goodsinfo(Integer count) {
DBManager.prepare4UpdateGoodsinfo();
Service service = new Service();
Call call;
try {
call = (Call) service.createCall();
call.setOperationName("getLJStockGoodsinfo");
URL url = new URL(SERVER_URL);
call.setTargetEndpointAddress(url);
if (count != 0) {
List<Barcodegoods> bgs = null;
String result = null;
for (int i = 1; i <= count; i++) {
System.out.println(i);
if(i==302){
System.out.println("toggle");
}
result = (String) call.invoke(new Object[] { VERYFY_CODE,
new String("" + i), PAGESIZE });
bgs = JSONParser.parseGoodsJson2List(result);// 解析成List集合
DBManager.update2Goodsinfo(bgs);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
提示是在
result = (String) call.invoke(new Object[] { VERYFY_CODE,
new String("" + i), PAGESIZE });
出现的异常!
相关推荐
7. **异常处理**:在调用过程中可能出现网络错误、服务端错误等问题,需要编写适当的异常处理代码来捕获并处理这些问题。 在实际应用中,Web Service接口调用还涉及到安全性、性能优化和版本控制等话题。例如,可以...
因此,我们需要编写适当的错误处理代码,捕获并处理可能出现的异常。 6. **性能优化**:如果频繁调用翻译服务,可能需要考虑缓存机制,避免重复请求相同的内容。另外,批量处理和异步调用也能提高整体效率。 7. **...
在实际应用中,使用这样的工具类可以帮助开发者快速实现对WebService的调用,减少重复工作,提高代码的可复用性和可维护性。同时,对于初学者来说,研究源码也是一个很好的学习机会,可以深入了解WebService的工作...
5. **错误处理**:处理可能出现的网络异常、解析错误等情况,确保应用的健壮性。 在"testWebServiceCall"这个文件中,可能包含了实现上述过程的代码示例。它可能是一个Java或Kotlin类,包含了具体的网络请求方法和...
本资源"WebService传递对象与集合问题.rar"显然关注的是在Web Service中如何有效地传递复杂数据类型,如对象和集合。 在传统的Web Service中,数据通常通过XML格式进行传输,这是SOAP消息的基础。然而,直接传递...
在调用Web服务时,需要捕获并处理可能出现的网络、解析、业务逻辑等异常,确保程序的健壮性。 8. **性能优化**: - 使用缓存机制,避免重复解析WSDL。 - 考虑使用异步调用,提高并发性能。 - 对大型XML数据进行...
这不仅提高了效率,还使得基于WebService的中间层组件能够在各种场景中重复利用。 **1.2.2 应用程序集成** 在企业环境中,通常需要将运行在不同平台上的多种应用程序进行集成。通过将应用程序的功能和数据封装成...
4. **处理超时和异常**:`HttpHelper`通常会包含对超时和网络错误的处理逻辑,确保在出现问题时能优雅地返回错误信息,而不是直接抛出异常。 5. **异步操作**:在.NET中,异步编程是推荐的做法,尤其是对于I/O密集...
在使用Oracle JDeveloper 11g进行Java Web Service开发时,可能会遇到各种问题,例如编译错误、部署失败、服务调用异常等。这些问题可能与环境配置、代码错误、服务器设置等多方面因素有关。解决方法通常包括检查...
WebService是一种支持通过网络进行调用的应用程序接口(API),它可以跨平台、跨语言地提供服务。WebService主要利用XML、SOAP、WSDL等技术来实现数据交换和服务接口定义,使得不同系统之间能够互相通信。 #### 二...
在网络波动时,客户端可能会多次提交相同的请求,这可能会导致数据库中出现重复的数据。例如,假设我们在公司数据库中发现了两条相同的数据,并且时间相同(毫秒也相同)。在排查原因后,我们发现是网络波动造成的...
如果在调用过程中出现错误,将会显示“没有返回值”。 总结:通过结合JQuery的AJAX功能与ASP.NET Web服务,我们可以实现客户端的实时邮箱验证,提升用户体验,避免无效或重复的邮箱注册。这种方法减少了服务器端的...
例如,同一问题短时间内多次出现可能表明存在严重问题,而一次性的异常可能只是偶发事件。 全面监控是保证系统健康运行的基础。这涵盖了各种服务框架,如DUBBO、Spring Cloud、Hessian等,消息队列如AMQ、Kafka、...
- **服务降级**:当服务出现异常或过载时,临时提供简化版本的服务,以确保系统的整体稳定性。 - **优雅停机**:服务在停止前能够完成当前正在进行的任务,并释放相关资源,确保服务的平滑关闭。 ##### 12. 主机...
在需要完整事务操作的情况下,将业务逻辑移至Service层是常见做法,但这可能引发回滚问题,因为如果在Action中多次调用Service,一旦出现异常,之前的操作可能无法正确回滚。 B) 当需要返回JSON或XML格式的数据以...
调用 Webservice 时出现权限错误,解决方法是,在 AndroidManifest.xml 中,添加<uses-permission android:name="android.permission.INTERNET"></uses-permission>,授予应用程序访问网络的权限。 Android 开发中...
- **必要性**:通过 Apartment 模型可以有效解决多线程环境下对象调用时的同步问题。 13. **异常处理机制** - **异常类型**:包括运行时异常、逻辑错误等。 - **处理流程**:通过 try-catch-finally 结构捕获并...
45. **常用的调用 WebService 的方法有哪些?** - 常用的方法包括使用 `System.Web.Services.Protocols.SoapHttpClientProtocol` 类、WCF 客户端、HTTP 请求等。 46. **.net Remoting 的工作原理是什么?** - ...
2. **错误处理与反馈**:增加异常处理逻辑,确保在出现网络问题或其他错误时能够给出适当的提示。 3. **多线程上传**:对于大文件或多个文件的上传,可以考虑使用多线程技术来提高效率。 4. **安全性考虑**:对上传...