`
lxcaoxin
  • 浏览: 127898 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

调用webservice出现javax.xml.bind.UnmarshalException解决办法

 
阅读更多
最近在做Android使用ksoap2包调用Webservice,自己写了Webservice发布在Jboss上做测试时,
出现javax.xml.bind.UnmarshalException,异常内容为
Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"http://apj.vote.webservice.com", local:"arg0"). Expected elements are <{}arg0>



原因:服务器端的Webservice的接口方法的参数没有设置好参数名称和命名空间

解决办法,使用@WebParam注解添加参数名称和命名空间
例如:
接口代码:
package com.apj.webservice;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;


@WebService(targetNamespace = "http://apj.vote.com", name = "VoteWebService", serviceName = "VoteWebService")
public interface VoteWebService {
	@WebResult(name="return",targetNamespace="http://apj.vote.com")
	@WebMethod
	public String vote(@WebParam(name = "teamid",targetNamespace="http://apj.vote.com") long teamid);

}


实现类
package com.apj.webservice.impl;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.jboss.logging.Logger;

import com.apj.model.Team;
import com.apj.webservice.VoteWebService;

@WebService(targetNamespace = "http://apj.vote.com", name = "VoteWebService", serviceName = "VoteWebService")
@Stateless
@Remote(VoteWebService.class)
public class VoteWebServiceImpl implements VoteWebService {

	@WebResult(name="return",targetNamespace="http://apj.vote.com")
	@WebMethod
	public String vote(@WebParam(name = "teamid",targetNamespace="http://apj.vote.com") long teamid) {

		System.out.println("team id ====" + teamid);
	
		return teamid + "";

	}

}

分享到:
评论
5 楼 fanyin158 2015-11-30  
虽然楼主你长的不好看... 但确实艾斯你了.......
4 楼 chuqingxiao 2015-11-19  
楼主,怎么解决的???加上这两个注解也还是不行。[/b][/b]
3 楼 lsj8080 2014-07-22  
我的好像也不行
2 楼 shairyee 2013-09-02  
太感谢搂住了,是正解。  
1 楼 yun342173024 2012-07-10  
加上targetnamespace和WebParam还是抛出异常

相关推荐

    javax.xml.rpc相关jar包

    描述中提到的“解决javax.xml jar包缺失的问题,引进javax.xml.rpc-api-1.1.1.jar”,意味着在开发或运行某个Java项目时,可能会遇到由于缺少`javax.xml.rpc`相关的jar包导致的编译或运行错误。为了解决这个问题,...

    javax.xml.rpc

    "javax.xml.rpc"是Java平台中的一个关键组件,主要用于实现基于XML的远程过程调用(XML-RPC)服务。这个框架允许Java应用程序通过HTTP协议来调用远程服务器上的方法,从而实现分布式计算。在Java EE环境中,它常与...

    javax-ws java自带webservice实现方式

    - **`javax.xml.ws`**:JSR 224(JAX-WS)是Java API for XML Web Services,主要用于SOAP服务的开发。它包含了处理服务端点、消息处理、服务发现等核心功能。 - **`javax.jws`**:这个包提供了简单的Web服务API,...

    jdk10+ java.lang.NoClassDefFoundError: javax/xml/ws/Service 错误

    &lt;groupId&gt;javax.xml.bind &lt;artifactId&gt;jaxb-api &lt;version&gt;2.3.1 &lt;groupId&gt;com.sun.xml.bind&lt;/groupId&gt; &lt;artifactId&gt;jaxb-core &lt;version&gt;2.3.0.1 &lt;groupId&gt;com.sun.xml.bind&lt;/groupId&gt; &lt;artifactId&gt;...

    jaxws java webservice需要的jar包

    3. **com.sun.xml.bind.jaxb-core.jar** 和 **com.sun.xml.bind.jaxb-impl.jar**:这两个jar包属于JAXB(Java Architecture for XML Binding),它是Java中处理XML数据绑定的标准,用于将Java对象与XML文档相互转换...

    javax.xml.rpc-api.jar

    javax.xml.rpc-api.jar

    java之webservice_aegis.xml学习

    ### Java之WebService_Aegis.xml详解 #### 一、概述 `aegis.xml`配置文件主要用于在Web服务(尤其是使用了XFire框架的情况下)中定义如何处理复杂的数据类型,特别是那些集合类型的参数或返回值。通过配置`aegis....

    java调用webservice.zip

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

    jaxws-rt 2.1.4 jar java webservice依赖包

    com.sun.xml.bind jaxb-impl 2.1.7 com.sun.xml.messaging.saaj saaj-impl 1.3.1 com.sun.xml.stream.buffer streambuffer 0.7 com.sun.xml.stream sjsxp 1.0.1 javax.xml.ws jaxws-api 2.1 org.jvnet.staxex stax-...

    nodejs和Java调用webservice接口总结.docx

    ### Node.js 和 Java 调用 WebService 接口总结 #### 一、Java 实现方式 在 Java 中,调用 WebService 接口通常涉及使用 Apache CXF 或其他类似的库来生成客户端代码并进行调用。以下是具体的步骤: ##### 1. ...

    调用webservice,通过post传参读取返回的XML

    这里我们关注的是如何使用POST方法调用一个WebService,并处理返回的XML响应。我们将探讨以下知识点: 1. **WebService**:WebService是一种基于HTTP协议的分布式计算模型,允许不同系统间的应用进行交互。它通常...

    开发基于JWS的webservice并通过jun-jaxws发布所需的jar包

    在本场景中,"开发基于JWS的webservice并通过jun-jaxws发布所需的jar包"指的是利用Java API for XML Web Services (JAX-WS) 的一个实现——Sun JAX-WS(也称为Metro)来创建、部署和运行Web服务。Sun JAX-WS是Oracle...

    JAXB工具类 xml转为java对象 java对象转为xml

    import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "person") public class Person { private String name; private int age; @XmlElement public String getName() { return name; ...

    java调用webservice接口方法.rar

    Java调用WebService接口是Web应用程序开发中的常见任务,主要用于实现不同系统间的远程通信和数据交换。在本资料中,我们重点关注Java如何与基于SOAP(Simple Object Access Protocol)的WebService进行交互。 1. *...

    java调用webservice接口方法.pdf

    在实际开发中,除了Apache Axis,还有其他工具和库可以用来调用WebService,例如JAX-WS(Java API for XML Web Services),它提供了更现代、更简洁的API来处理WebService调用。无论使用哪种方式,关键在于理解WSDL...

    c#操作XML 读取、生成,WEBSERVICE接口

    要调用Web Service并传递XML数据,可以使用`SoapHttpClientProtocol`类的派生类。以下代码展示了如何调用上面创建的Web Service接口: ```csharp using System.Net; using System.IO; using System.Xml; ...

    CXF webservice

    一个CXF webservice 实例,兼容tomcat和weblogic; 已解决了报错:javax.xml.ws.soap.SOAPFaultException: Cannot create a secure XMLInputFactory

    拼接xml调用webservice

    本主题的核心是"拼接XML调用WebService",这通常指的是通过构建XML字符串来构造请求,然后发送该请求到一个Web Service接口以获取响应。以下是对这个过程的详细解释: 1. **XML基础**:XML是一种结构化标记语言,它...

    JAVA 调用SAP SOAP webservice.docx

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

    解析XML所需的jar dom.jar

    1. 加载XML文档:使用`javax.xml.parsers.DocumentBuilderFactory`类创建一个实例,并调用其`newDocumentBuilder()`方法生成`DocumentBuilder`对象。 2. 解析XML:使用`DocumentBuilder`对象的`parse()`方法读取XML...

Global site tag (gtag.js) - Google Analytics