最近在学习用XFire开发webService,遇到点问题请大帮我看看,谢谢
Client主要代码:
helloClient client = new helloClient();
helloPortType port = client.gethelloHttpPort();
User u = new User();
JAXBElement <String> name = new JAXBElement <String>(new QName("http://service.test.com","value"),String.class,"张三");
u.setName(name);
//u.getName().getValue();//这句话在这里不会报错,但到服务器上后就出错了,传过去的u不为空,但u.getName()返回空
System.out.println(port.example(u));
接口实现类主要代码:
public String example(User u) {
return u.getName().getValue();
//问题就在这里,传过来的u是不为空的,但u.getName()时返回就为空了,而u.getName().getValue将会报错
道底是哪出错了???
}
aegis.xml:
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="example">
<parameter index="0" componentType="com.test.service.User" />
</method>
</mapping>
</mappings>
会的朋友请教教我,谢谢了!!!
回复于:2009-07-07 16:05:22
你的错误在于,QName的参数给的不对
在你生成客户端自定义对象的时候,属性的上面有网络空间uri和别名的值,填对了就可以了
对我有用[0]丢个板砖[0]引用举报管理TOP
jq985
(jq985)
等 级:
#11楼 得分:0回复于:2009-07-07 16:07:05
比如生成的客户端User对象的name属性是这样写的
@XmlElementRef(name = "name", namespace = "http://bean", type = JAXBElement.class)
protected JAXBElement <String> name;
那么你的QName对象必须这样创建
new QName("http://bean","name");
分享到:
相关推荐
1. **生成客户端代理**:XFire提供了一个工具(如`xfire-proxy-gen`)用于从服务端的WSDL(Web Service Definition Language)文件生成客户端代理类。运行这个工具,指定服务的WSDL URL,它会生成相应的Java客户端...
XFire是另一个Java Web服务框架,后来演变为CXF项目的一部分。XFire以其轻量级、高性能和易于使用的特性受到开发者欢迎。与Axis类似,XFire也支持SOAP、WSDL,但更注重XML处理性能和RESTful风格的服务。 1. 发布Web...
2. 生成WSDL:然后,使用Axis的`wsdl2java`工具,根据这个Java类生成相应的WSDL(Web Service Definition Language)文件。WSDL文件描述了Web服务的接口和消息格式。 3. 创建服务部署文件(.aar):接下来,我们将...
XFire 是一个基于 Java 的 Webservice 框架,可以用于开发和消费 Webservice。使用 XFire,开发者可以从 JavaBean 中生成 Webservice,也可以从 WSDL 文件中生成 Webservice。 首先,使用 MyEclipse 建立一个 ...
- 服务器端通常会创建一个服务类,继承自由wsdl生成的接口,并实现接口中的方法。 ``` public class MyWebService implements MyWebServiceInterface { @Override public String sayHello(String name) { ...
本资源提供了一个较为完整的Webservice实现案例,它可以帮助我们深入理解Web Service的工作原理以及如何在实际项目中应用。 【描述】:“NULL” 尽管描述为空,但我们可以从标题推测,这个压缩包可能包含一个或多...
Xfire 是一个基于 Java 的 Web Service 框架,它提供了一个简单的方式来调用 Web Service。要使用 Xfire,你需要引入相应的 JAR 包(xfire-all-1.2.4.jar 和 jdom-1.0.jar)。调用 Web Service 可以通过创建一个 ...
1. 创建一个服务代理或客户端 stub,这个代理是根据WSDL文件自动生成的,它封装了与服务端交互的细节。 2. 在Struts2的Action类中,通过服务代理调用Web服务的方法。 3. 结合Struts2的拦截器和结果类型,可以处理...
Xfire 是一个 Java 库,提供了 Webservice 的实现和调用功能。使用 Xfire,可以有三种方法来实现 Webservice: 1. 从 JavaBean 中生成 Webservice 2. 从 WSDL 文件中生成 Webservice 3. 手动建立 Webservice 下面...
1. Xfire1.2简介:Xfire是一个轻量级的Web服务框架,它提供了简单的API和直观的配置方式,让开发者能够快速地创建和部署Web服务。 2. Xfire1.2工作原理:Xfire基于Spring框架,利用JAXB(Java Architecture for XML...
4. **生成WSDL**: Axis会根据服务类自动生成对应的WSDL文件,描述服务的接口和操作。 5. **客户端调用**:客户端通过解析WSDL,了解如何调用服务。它可以使用 Axis 提供的工具生成客户端 stub 或直接编写代码来...
接下来,可以通过Java的命令行工具(如wsimport)自动生成客户端和服务端的必要文件,包括WSDL描述和客户端的Stub类。服务端代码部署后,可以通过HTTP请求调用sayHello方法,实现Web服务的交互。 除了JAX-WS 2.0,...
Apache CXF是一个开源的Web服务框架,它合并了XFire和Apache Axis2项目,旨在提供一个更强大、更易用的Web服务开发平台。CXF支持多种协议和标准,包括SOAP、REST、WS-*规范等。使用CXF开发Web服务的优点有: 1. 易于...
ps:主要解决在webservice中,我们想从另外一个项目调用webservice项目的接口,也就是跨项目调用接口 这里主要用到了xfire wsdl 废话不说了 直接上东西 1. 首先新建一个项目 2. 在src下创建两个文件: a) 第一个是你...
MINA(Multi-purpose Infrastructure for Network Applications)是一个高性能的网络应用框架,它不定义具体的应用层协议,而是提供了一套低级别的API,开发者可以根据需求实现自己的通信协议。 ESB(Enterprise ...