服务端接口
@WebService
@SOAPBinding(style = Style.RPC)
public interface DownLoadFeederPdfService {
/**
* 下载馈线图 --PDF 格式 文件位置如: D:\PDF\白云供电局\槎头变电站\槎头F3.pdf
* 系统变量配置:PW_FEEDER_PDF_ROOT, 值如:D:\PDF
*
* @return 若文件不存在,返回null
* @author rxh 20101019
*/
public abstract FeederPdfByteBean DownloadFeederPdf(
@WebParam(name = "formAllowFeederPdfBean")
FormAllowFeederPdfBean formAllowFeederPdfBean);
}
实现类
@WebService
@SOAPBinding(style = Style.RPC)
public class DownLoadFeederPdfServiceImp implements DownLoadFeederPdfService {
/*
* (non-Javadoc)
*
* @see com.pwmis.webservice.inspect.service.impl.DownLoadFeederPdfService#DownloadFeederPdf(java.lang.String,
* java.lang.String, java.lang.String)
*/
public FeederPdfByteBean DownloadFeederPdf(
@WebParam(name = "formAllowFeederPdfBean")
FormAllowFeederPdfBean formAllowFeederPdfBean) {
FeederPdfByteBean feederPdfByteBean = new FeederPdfByteBean();
// 获取系统属性中配置的馈线图文件目录,如D:/PDF
String feederPdfRoot = "";
StringBuffer filePath = new StringBuffer("D:\\101224最新PDF图");
filePath.append("\\")
.append("-----");
filePath.append("\\").append("-----");
filePath.append("\\").append("-----")
.append(".pdf");
System.out.println(filePath.toString());
File file = new File(filePath.toString());
// 将文件读进字节数组并返回
byte[] bytes = null;
try {
FileInputStream fis = new FileInputStream(file);
int length = fis.available();
bytes = new byte[length];
fis.read(bytes, 0, length);
fis.close();
feederPdfByteBean.setFeederPdfByte(bytes);
} catch (IOException e) {
throw new RuntimeException("文件找不到", e);
}
return feederPdfByteBean;
}
}
简单对象
@XmlRootElement(name="FormAllowFeederPdfBean")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder = {"departmentName","stationName","feederName"})
public class FormAllowFeederPdfBean implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String departmentName;//名称
private String stationName;//名称
private String feederName;//名称
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
public String getStationName() {
return stationName;
}
public void setStationName(String stationName) {
this.stationName = stationName;
}
public String getFeederName() {
return feederName;
}
public void setFeederName(String feederName) {
this.feederName = feederName;
}
}
客户端用myeclipse生成xfire客户端,并且可以写测试类,不过对象传输,转换比较麻烦,需要转换对应的格式
XfireDownFeederPdfServiceClient client = new XfireDownFeederPdfServiceClient();
//create a default service endpoint
XfireDownFeederPdfServicePortType service = client.getXfireDownFeederPdfServiceHttpPort();
FormAllowFeederPdfBean FormAllowFeederPdfBean=new FormAllowFeederPdfBean();
JAXBElement<String> departmentName1 = new JAXBElement<String>(new
QName("http://domain.inspectpdf.webservice.pwmis.com", "departmentName"),String.class,"-------");
JAXBElement<String> stationName1 = new JAXBElement<String>(new
QName("http://domain.inspectpdf.webservice.pwmis.com", "stationName"),String.class,"-------");
JAXBElement<String> feederName1 = new JAXBElement<String>(new
QName("http://domain.inspectpdf.webservice.pwmis.com", "feederName"),String.class,"-------");
System.out.println(departmentName1+"--------"+stationName1+"-------"+feederName1);
FormAllowFeederPdfBean.setDepartmentName(departmentName1);
FormAllowFeederPdfBean.setStationName(stationName1);
FormAllowFeederPdfBean.setFeederName(feederName1);
FeederPdfByteBean feederPdfByteBean=service.downloadFeederPdf(FormAllowFeederPdfBean);
分享到:
相关推荐
标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...
1. **XML序列化与反序列化问题**:Xfire需要将Java对象转换为XML格式(序列化)发送给服务端,服务端再将接收到的XML还原为Java对象(反序列化)。如果双方使用的数据类型不匹配或XML格式不正确,可能会导致参数丢失...
XFire Webservice是一个基于Java的开源工具,它简化了创建、部署和消费Web服务的过程。在深入探讨这个完整实例之前,我们首先需要了解Web服务的基本概念。Web服务是一种通过网络进行通信的应用程序接口(API)。它们...
标题中的“xfire开发webservice所需jar包”指的是在使用XFire框架开发Web服务时所需要的一组Java类库。XFire是Apache CXF项目的一部分,它是一个轻量级的、高性能的Web服务框架,用于创建和消费SOAP服务。这篇博客...
Xfire是基于Java的SOAP(简单对象访问协议)框架,支持WS-I(Web服务互操作性)标准,使得不同平台和语言之间的服务调用变得可能。它包括了代码生成工具、服务容器和客户端代理生成等功能,简化了Web服务的开发流程...
Axis是Apache软件基金会的一个开源项目,它是一个强大的SOAP(简单对象访问协议)引擎,用于构建和部署Web服务。Axis的主要功能包括: 1. **SOAP绑定**: Axis提供了多种SOAP绑定,如HTTP、HTTPS和JMS,使得服务可以...
XFire是Apache CXF的前身,它提供了一个轻量级、高性能的框架,用于构建基于SOAP(简单对象访问协议)的Web服务。XFire支持多种协议,包括HTTP、JMS和JBI,同时还支持WS-*标准,如WS-Security和WS-ReliableMessaging...
WebService的实现依赖于一系列关键技术与协议,其中最核心的是简单对象访问协议(SOAP)、WebService描述语言(WSDL)以及统一描述、发现和集成协议(UDDI)。 - **SOAP**:作为基于XML的协议,SOAP允许应用程序以...
它使用SOAP(简单对象访问协议)和XML(可扩展标记语言)作为基础,提供了一种简单的方式来创建、部署和使用Web服务。下面我们将详细探讨XFire以及如何使用它来创建一个Web服务客户端。 1. **XFire简介** XFire是...
标题中的“xfire webservice集成最少8个包”指的是在使用XFire框架开发Web服务时,所需的最小依赖库数量。XFire是早期流行的Java Web服务实现框架,它允许开发者快速创建、部署和消费Web服务。这里提到的8个包可能...
这种技术主要依赖于XML(可扩展标记语言)进行数据编码,使用SOAP(简单对象访问协议)进行消息传递,并通过WSDL(Web服务描述语言)定义服务接口。在Java环境中,实现Web服务通常会用到JAX-WS(Java API for XML ...
【xfire在Web服务(Webservice)中的应用】 XFire是一个开源的Java库,它为构建和消费Web服务提供了一种高效、灵活且易于使用的框架。在早期的Web服务开发中,XFire因其轻量级、高性能和强大的功能而备受青睐。本篇...
通过XML(可扩展标记语言)进行数据编码,HTTP(超文本传输协议)作为传输协议,SOAP(简单对象访问协议)作为消息传递格式,WSDL(Web服务描述语言)用于描述服务接口,UDDI(统一描述、发现和集成)用于服务注册和...
XFire支持Java对象到XML的自动序列化和反序列化,这被称为数据绑定。例如,通过JAXB(Java Architecture for XML Binding),可以将Java类直接映射为XML Schema,反之亦然。此外,XFire还支持其他数据格式,如JSON,...
【标题】"webService-xfire入门doc" 涉及的是Web服务技术中的XFire框架,这是一款用于构建和消费Web服务的开源Java库。XFire是早期流行的Web服务实现,它允许开发者轻松地将Java对象转换为Web服务,反之亦然。 ...
XFire还支持数据绑定技术,如JAXB和XMLBeans,使得Java对象和XML之间的转换更加便捷。对于Java 5及以上版本,XFire提供了对新特性的支持,如注解,同时,它还支持多种传输协议,如HTTP、JMS、XMPP和In-memory,确保...
2. 输入项目名称如“WebServiceServer”,在“Framework”选项中选择“XFire”,其余选项保持默认。 3. 点击“Next”,保留默认设置。 4. 在“Project Library”中选择XFire 1.2的核心库。 5. 点击“Finish”,你会...
在标题中提到的“webservice数据传输方式Xfire”,主要指的是利用Xfire来构建Web服务接口,实现数据的发送和接收。Xfire采用了Java编程语言,并且充分利用了Java的XML处理库,如JAXB(Java Architecture for XML ...
在本实例中,XFire可能被Spring用来创建和部署自定义对象和数组传输的Web服务。 5. **自定义对象和数组的传输**:Web服务通常涉及不同系统间的复杂数据交换。使用自定义对象和数组,可以更灵活地封装和传递业务数据...