摘要:最近在协助同事搞Android调用WebService接口,再测试的过程中发现老师报错,经过baidu,google,终于解决了,现在记录一下:

一:错误信息:

2015-10-28 18:50:39 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
警告: Interceptor for {http://service.qdexam.com/}HelloServiceImplService#{http://service.qdexam.com/}say has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element (uri:"http://service.qdexam.com/", local:"name"). Expected elements are <{}name> at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:882)at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:703)at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:160)at org.apache.cxf.wsdl.interceptors.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:108)at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:243)at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197)at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)at java.lang.Thread.run(Thread.java:662)
Caused by: javax.xml.bind.UnmarshalException- with linked exception:
[javax.xml.bind.UnmarshalException: unexpected element (uri:"http://service.qdexam.com/", local:"name"). Expected elements are <{}name>]at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:843)at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:102)at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:871)at java.security.AccessController.doPrivileged(Native Method)at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:869)... 26 more
Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"http://service.qdexam.com/", local:"name"). Expected elements are <{}name>at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:249)at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:116)at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.childElement(Loader.java:101)at com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.childElement(StructureLoader.java:243)at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:478)at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)... 32 more
Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"http://service.qdexam.com/", local:"name"). Expected elements are <{}name>... 43 more

二:正确的Android调用WebService接口代码,这里是一个登陆的例子:

package com.qdexam.service;import java.io.IOException;import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;import android.test.AndroidTestCase;public class MyTest extends AndroidTestCase {// 命名空间String nameSpace3="http://myUseIos/";// WSDLString WSDL3="http://192.168.1.103:8080/qdksptCxfService/ksptService";// 接口名称String studentLogin="studentLogin";// 登录public void studentLogin() {HttpTransportSE httpTranstation=new HttpTransportSE(WSDL3);SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);SoapObject request =new SoapObject(nameSpace3,studentLogin);String userName = "7777777777";// 参数String password = "7777777777";// 参数request.addProperty("userName", userName);request.addProperty("password", password);envelope.setOutputSoapObject(request);try {httpTranstation.call(null, envelope);Object object = envelope.getResponse();System.out.println("object" + object);  } catch (IOException e) {e.printStackTrace();} catch (XmlPullParserException e) {e.printStackTrace();} }}

Android开发中调用Spring CXF整合发布的WebService接口为什么抛出异常错误?相关推荐

  1. Android开发中调用系统窗口的方法

    //直接拨号 Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678")); start ...

  2. Android 开发中调用google语音接口

    最近项目开发中需求中要采用多种的输入方式,于是乎想起google的语音搜索做了一下尝试,做了一个简单的语音识别的demo,总结起来,大致的过程如下: 一.检查Androird手机上是否装上了googl ...

  3. Android开发中调用百度地图SDK

    前言 我是一个在普通大学上学的孩子,主攻AR方向.我最近要通过unity3d来完成我的科研立项---AR指南针,当我开始这个项目时,我在想怎么做,首先在unity3d中调用AR摄像头不难,难就难在怎么 ...

  4. android开发中调用手机的豌豆荚、应用宝等市场进行评分操作,以及分享功能

    应用场景:某个手机阅读器程序,读者看到一篇 文章 ,觉得不错,想要与朋友分享  .  应用展现:按手机的Menu键,弹出"分享"菜单,点击后显示一系列Android分享功能的方式( ...

  5. Android开发中反编译时出现Unsupported major.minor version 51.0错误的问题

    Unsupported major.minor version 51.0大概的意思是:不支持的jdk版本,而major.minor version 51.0为jdk1.7,今天出现此问题时查看了一下自 ...

  6. dagger android,在Android开发中使用Dagger2的方法

    在Android开发中使用Dagger2的方法 发布时间:2020-12-08 17:12:38 来源:亿速云 阅读:236 作者:Leah 在Android开发中使用Dagger2的方法?相信很多没 ...

  7. android开发怎么调用api

    在 Android 开发中调用 API 需要以下步骤: 确定要调用的 API 的 URL 地址,并了解其输入和输出的格式. 在 Android 项目中使用网络请求库,如 Retrofit.Volley ...

  8. Spring和CXF整合发布WebService(服务端、客户端)

    参考Spring和CXF整合发布WebService(服务端.客户端) 转载于:https://www.cnblogs.com/timspace/p/11113576.html

  9. Android开发中怎样调用系统Email发送邮件(多种调用方式)

    在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外,所谓的调用Email,只是说Email可以接收Intent并做这些事情 我们都知道,在Android中 ...

最新文章

  1. 多账号统一登录(实现方案)
  2. iOS - 毛玻璃动画效果
  3. 两页面之间 转发请求,传递参数
  4. 百练OJ:4150:上机
  5. Axure快速原型教程02--创建页面和设置界面
  6. 我所理解的JVM(三):字节码的执行
  7. linq的简单查询 和 组合查询
  8. 小技巧 ----- 通过二进制串的位运算进行二维指数型枚举
  9. 低效能人士的七个坏习惯
  10. Android studio 混淆配置
  11. vscode生成vue模板快捷键_VSCode 初次写vue项目并一键生成.vue模版
  12. ios 系统状态栏样式修改_IOS修改状态栏的字体颜色以及修改状态栏的背景颜色...
  13. operands could not be broadcast together with remapped shapes
  14. 小米5(mi5)开启-全面屏手势-详细步骤
  15. 【CSS】vertical-align属性
  16. 编译器错误 C2355
  17. SSM基于WEB的房屋出租管理系统 毕业设计-附源码261620
  18. mepg-4 的码流分析
  19. 复旦大学2018--2019学年第二学期高等代数II期末考试情况分析
  20. 1092 习题6-4 有序插入

热门文章

  1. shell 获取家目录_一篇教会你写90%的shell脚本
  2. java io 文件路径_如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径...
  3. 支付宝支付php代码示例,Laravel使用支付宝进行支付的示例代码
  4. Linux下解决发布Qt程序报错:it could not find or load the Qt platform plugin “xcb” in “”
  5. 开源的SIP协议栈 PJSIP
  6. 进程控制2--exec族
  7. 图幅号与经纬度的换算
  8. 【转】DCMTK开源库的学习笔记4:利用ini配置文件对dcm影像进行归档
  9. C#接口归纳总结实例详解
  10. 天猫精灵方糖拆解报告和芯片详解