最近在做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 + "";
}
}
分享到:
相关推荐
描述中提到的“解决javax.xml jar包缺失的问题,引进javax.xml.rpc-api-1.1.1.jar”,意味着在开发或运行某个Java项目时,可能会遇到由于缺少`javax.xml.rpc`相关的jar包导致的编译或运行错误。为了解决这个问题,...
"javax.xml.rpc"是Java平台中的一个关键组件,主要用于实现基于XML的远程过程调用(XML-RPC)服务。这个框架允许Java应用程序通过HTTP协议来调用远程服务器上的方法,从而实现分布式计算。在Java EE环境中,它常与...
- **`javax.xml.ws`**:JSR 224(JAX-WS)是Java API for XML Web Services,主要用于SOAP服务的开发。它包含了处理服务端点、消息处理、服务发现等核心功能。 - **`javax.jws`**:这个包提供了简单的Web服务API,...
<groupId>javax.xml.bind <artifactId>jaxb-api <version>2.3.1 <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core <version>2.3.0.1 <groupId>com.sun.xml.bind</groupId> <artifactId>...
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
### Java之WebService_Aegis.xml详解 #### 一、概述 `aegis.xml`配置文件主要用于在Web服务(尤其是使用了XFire框架的情况下)中定义如何处理复杂的数据类型,特别是那些集合类型的参数或返回值。通过配置`aegis....
java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...
### Node.js 和 Java 调用 WebService 接口总结 #### 一、Java 实现方式 在 Java 中,调用 WebService 接口通常涉及使用 Apache CXF 或其他类似的库来生成客户端代码并进行调用。以下是具体的步骤: ##### 1. ...
这里我们关注的是如何使用POST方法调用一个WebService,并处理返回的XML响应。我们将探讨以下知识点: 1. **WebService**:WebService是一种基于HTTP协议的分布式计算模型,允许不同系统间的应用进行交互。它通常...
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-...
在本场景中,"开发基于JWS的webservice并通过jun-jaxws发布所需的jar包"指的是利用Java API for XML Web Services (JAX-WS) 的一个实现——Sun JAX-WS(也称为Metro)来创建、部署和运行Web服务。Sun JAX-WS是Oracle...
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接口是Web应用程序开发中的常见任务,主要用于实现不同系统间的远程通信和数据交换。在本资料中,我们重点关注Java如何与基于SOAP(Simple Object Access Protocol)的WebService进行交互。 1. *...
在实际开发中,除了Apache Axis,还有其他工具和库可以用来调用WebService,例如JAX-WS(Java API for XML Web Services),它提供了更现代、更简洁的API来处理WebService调用。无论使用哪种方式,关键在于理解WSDL...
一个CXF webservice 实例,兼容tomcat和weblogic; 已解决了报错:javax.xml.ws.soap.SOAPFaultException: Cannot create a secure XMLInputFactory
本主题的核心是"拼接XML调用WebService",这通常指的是通过构建XML字符串来构造请求,然后发送该请求到一个Web Service接口以获取响应。以下是对这个过程的详细解释: 1. **XML基础**:XML是一种结构化标记语言,它...
1. 加载XML文档:使用`javax.xml.parsers.DocumentBuilderFactory`类创建一个实例,并调用其`newDocumentBuilder()`方法生成`DocumentBuilder`对象。 2. 解析XML:使用`DocumentBuilder`对象的`parse()`方法读取XML...
JAVA 调用 SAP SOAP webservice 详解 在本文中,我们将详细介绍如何使用 JAVA 调用 SAP SOAP webservice,包括配置 SAP 登录信息、创建 java 项目、添加 web 服务客户端、生成 JAVA 类、调用接口等步骤。 配置 SAP...
WebService接口调用工具类是Java开发中常见的一种技术,用于与远程服务进行通信,尤其在集成不同系统或服务时非常关键。在这个场景中,"webservice接口调用工具类依赖jar包"指的是为了实现对WebService接口的调用,...