当前位置: 首页 > news >正文

做一个网站需要多少钱网上打广告有哪些软件

做一个网站需要多少钱,网上打广告有哪些软件,sever 2008 网站建设,深圳做网站一个月多少钱JAVA使用XFire开发和调用Web Service的方法 最近项目中需要实现Word转换为PDF、PDF合并、添加水印等功能,因在SAP中很难实现这样的功能,所以考虑使用JAVA实现这些功能,并在SAP端通过Web Service方式调用。网上查了一些使用XFire开发和调用We…

JAVA使用XFire开发和调用Web Service的方法

最近项目中需要实现Word转换为PDF、PDF合并、添加水印等功能,因在SAP中很难实现这样的功能,所以考虑使用JAVA实现这些功能,并在SAP端通过Web Service方式调用。网上查了一些使用XFire开发和调用Web Service的方法,Ctrl + C, Ctrl + V的比较多,现在功能已经实现,为便于以后遇到相同问题提供参考,也是对最近工作的一个总结,因此,写这篇文章做个总结。

         本人所使用的开发环境如下:MyEclipse 6.0.1; apache-tomcat 6.0.26; XFire(MyEclipse 6.0.1自带); xfire-1.2.4(调用所需要的相关JAR包)。

一、服务器端开发:

1、创建工程

File->New->Web Service Project;输入工程名,根据向导按默认即可创建一个Web Service工程。

创建完成后,除生成web.xml文件外,还自动生成了一个services.xml;web.xml的内容不需要做修改,但services.xml文件的内容需要修改,后面做介绍。Web.xml文件的内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

  <servlet>

    <servlet-name>XFireServlet</servlet-name>

    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>

    <load-on-startup>0</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>XFireServlet</servlet-name>

    <url-pattern>/services/*</url-pattern>

  </servlet-mapping>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

2、创建Web Service的接口和实现类

      这个步骤可以通过手工创建接口和实现类,也可以通过工具条上的“New Web Service”按钮来自动生成。我是通过手工创建接口和实现类的。

      首先,创建一个包“ws”;在该包中创建一个接口“IDoc2PdfWebService”,并定义接口的方法;如下:

package ws;

public interface IDoc2PdfWebService {

    /**

     * word格式转换为pdf格式并返回结果

     * @param fileType   word格式的文件后缀 DOC DOCX

     * @param fileBytes  word格式的文件字节流

     * @return PDF格式的文件字节流

     */

    public byte[] DocToPdf(String fileType, byte[] docFileBytes);

   

    /**

     * 2个PDF文件合并成一个PDF文件并返回结果

     * @param pdfFileBytes1  PDF源文件1的文件字节流

     * @param pdfFileBytes2 PDF源文件2的文件字节流

     * @return 合成的PDF格式的文件字节流

     */

    public byte[] PdfMerge(byte[] pdfFileBytes1, byte[] pdfFileBytes2);

}

    然后在同个包下创建一个实现该接口的类“Doc2PdfWebServiceImpl”,并实现接口中的方法;如下:

package ws;

 

public class Doc2PdfWebServiceImpl implements IDoc2PdfWebService {

    public byte[] DocToPdf(String fileType, byte[] docFileBytes) {

       ……

    }

    public byte[] PdfMerge(byte[] pdfFileBytes1, byte[] pdfFileBytes2) {

       ……

    }

3、配置services.xml文件

   下面很重要的一步就是配置services.xml文件;其中<name>节点后面Web Service的发布地址中所使用;<serviceClass>节点为上面步骤创建的接口,格式为包名.接口名;<implementationClass>节点为接口的实现,格式为包名.实现类名;其它默认即可。如下代码所示:

    <?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://xfire.codehaus.org/config/1.0">

 

    <service>

       <name>Doc2PdfWebService</name>

       <serviceClass>ws.IDoc2PdfWebService</serviceClass>

       <implementationClass>

           ws.Doc2PdfWebServiceImpl

       </implementationClass>

       <style>wrapped</style>

       <use>literal</use>

       <scope>application</scope>

    </service></beans>

4、测试服务

这样服务器端的开发已经完成;在浏览器上输入如下地址:

http://localhost:8080/工程名/services/Doc2PdfWebService?wsdl(其中services是在web.xml文件中<url-pattern>节点配置的,而Doc2PdfWebService是在services.xml文件的<name>节点配置的)。如果显示如下的信息则说明服务器端Web Service发布成功。

二、客户端开发:

服务器端Web Service发布成功后,可以通过开发一个客户端程序来调用。

1、新建工程

新建一个java工程;

2、导入所需jar包

首先需要下载XFire,然后导入以下包到工程中:commons-codec-1.3.jar、commons-httpclient-3.0.jar、commons-logging-1.0.4.jar、jdom-1.0.jar、stax-api-1.0.1.jar、wsdl4j-1.6.1.jar、wstx-asl-3.2.0.jar、xfire-all-1.24.jar。

3、新建接口及测试类

新建包“com.demo.client”;将第一步中创建的接口类“IDoc2PdfWebService”复制到该包中,并新建一个测试类“WSTest”,具体实现代码见后。其中 serviceURL的地址即为第一步中测试服务所用的地址,但需要去年“?wsdl”后缀,否则会抛异常。

import org.codehaus.xfire.XFireFactory;

import org.codehaus.xfire.client.XFireProxyFactory;

import org.codehaus.xfire.XFire;

import org.codehaus.xfire.service.Service;

import org.codehaus.xfire.service.binding.ObjectServiceFactory;

public class WSTest{

    public static void main(String[] args){

       // 创建服务模型,即服务的元数据,使用XFire的ObjectServiceFactory从的服务的接口(IWebServiceTest,

       // 首先需要在同一个包下创建所调用的Web Service的接口类)创建;

       Service service = new ObjectServiceFactory().create(IWebServiceTest.class);

      

       // 为XFire获得一个代理工厂对象

       XFire xfire = XFireFactory.newInstance().getXFire();

       XFireProxyFactory factory =new XFireProxyFactory(xfire);

      

       String serviceURL =

"http://localhost:8080/ PdfWebService/services/Doc2PdfWebService ";

       IWebServiceTest client = null;

       try{

       // 使用服务模型和服务端点URL(用来获得WSDL),就可以得到一个服务的本地代理,即实际的客户端

           client = (IDoc2PdfWebService)factory.create(service, serviceURL);

       }catch(Exception ex){

           ex.printStackTrace();

       }  

       File myFilePath = new File("d:/DocToPdf/test.docx");

       InputStream in = new FileInputStream(myFilePath);

       // 取得文件大小

       long length = myFilePath.length();

   

       // 根据大小创建字节数组

       byte[] bytes = new byte[(int) length];

          

       int offset = 0;

       int numRead = 0;

while (offset < bytes.length &&

(numRead = in.read(bytes, offset, bytes.length - offset)) >= 0){

              offset += numRead;

       }

   

       in.close();       try{

       // 通过客户端调用它的DocToPdf方法来得到我们需要的Web Service

       byte[] pdfData = client.DocToPdf("DOCX", bytes);

String pdfFileName = "d:/DocToPdf/test.pdf";

       File pdfFilePath = new File(pdfFileName);

       try {

           if (pdfFilePath.exists()) {

              pdfFilePath.delete();

           }

       } catch (Exception e) {

           System.out.println("删除文件操作出错");

           e.printStackTrace();

       }

       FileOutputStream out = new FileOutputStream(pdfFileName);

       out.write(pdfData);

       out.flush();

       out.close();

    }

}

4、运行该程序,测试!

http://www.yidumall.com/news/74667.html

相关文章:

  • 开装潢公司做网站外贸网站优化推广
  • 苏州建设交通高等职业技术学院seo门户网价格是多少钱
  • 网页设计和网站建设书手机网站怎么优化关键词
  • 做营销网站应该要注意些什么长沙seo智优营家
  • 快站优惠券app域名批量查询注册
  • 网站空间免费吗成都网络营销推广公司
  • 怎么用别的网站做代理打开谷歌网络营销网站推广方案
  • 商业网站推广自媒体135网站免费下载安装
  • 天河区网站建设公司郑州关键词seo
  • 无锡做网站哪家公司好百度站内搜索代码
  • 帮做网站企业网络推广方案
  • wordpress 文章特色图像广州seo软件
  • 做盗版网站 国外服务器吗网页设计制作教程
  • 网站建设云主机云服务器百度大数据分析平台
  • 自助建站系统官网媒体代发网站
  • 兰州网站制作培训班搜盘网
  • php彩票网站建设教程抖音搜索引擎推广
  • 淘宝客网站可以做百度推广网络营销策划方案书
  • 新做的网站怎样推广seo网站关键词排名优化公司
  • 泰安网站建设优化营销网站建设创意
  • 那种退不掉的网站怎么做的线上营销方式
  • 贵州十大广告公司优化营商环境发言材料
  • 深圳网站建设 独占网络开封seo推广
  • wordpress授权主题seo是什么岗位的缩写
  • 做刷票的网站抖音关键词排名优化
  • 网站建设实用教程广州网站快速优化排名
  • 优酷网站谁做的百度竞价托管代运营
  • 网页模板案例巩义网站推广优化
  • 手机软件开发是什么专业网站关键词排名优化方法
  • 网站空间的申请优化大师如何删掉多余的学生