发布服务

怎样发布一个服务,被另外一个服务调用。以我在项目中的运用为例。

以下是我们当初的老大给我的文档
-----------------------------------------------------

我要发布的服务是一个借助officecom组件处理word,Excel的服务,在DocumentTool中有方法HTMLWORDhtmlToWord)、Word文档插入条形码insertImage2WordWORDHTMLwordToHtml)、excel07excel03excel07ToExcel03)、EXCELHTMLexcelToHtml)、word文档中插入表格wordAddTable等等,为了linux环境下也可以调用在FileToolManage类中就路径对以上方法进行了封装,所以我要发布的服务就就是FileToolManage类中的方法。

1、首先在Eclipse里新建一个名为FileToolweb工程,引入jacob类,把需要的几个类和方法写好。

2、下载一下zip包,并解压:axis-bin-1_4.zipjaf-1_1-fr.zipjavamail-1_4.zipxml-security-bin-1_3_0.zip

3、\axis-1_4\webapps\axis\WEB-INF\lib目录下的所有.jar(8)\jaf-1.1目录下的activation.jar\javamail-1.4目录下的mail.jar\xml-security-1_3_0\libs目录下的xmlsec-1.3.0.jarxalan.jar。一共12jar文件复制到FileTool应用程序的WEB-INF\lib下。

4、web应用程序中配置axis:\axis-1_4\webapps\axis\WEB-INF目录下的web.xml复制到你的web应用程序的WEB-INF下覆盖原有的web.xml

5、WEB-INF下新建一个deploy.wsdd文件。deploy.wsdd里只包含关于我们的服务的描述。内容如下:

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
            xmlns:java
="http://xml.apache.org/axis/wsdd/providers/java">
 
<service name="FileToolManage" provider="java:RPC">
  
<parameter name="className" value="com.huawei.imp.filetool.FileToolManage"/>
  
<parameter name="allowedMethods" value="*"/>

   <parameter name="scope" value="request"/>
 
</service>
</deployment>

6、把工程加载到tomcat下,启动tomcat,我用的tomcat已经把端口号改成8081了。

7、生成server-config.wsdd文件。打开cmd,定位到当前web工程的WEB-INF路径下,然后输入命令:java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8081/FileTool/servlet/AxisServlet deploy.wsdd显示如下,则发布web服务成功。Tomcat下,该web工程的WEB-INF目录下多了一个server-config.wsdd文件

  

8、重新启动Tomcat,访问路径http://127.0.0.1:8081/FileTool/services,就可以看到现在发布了三个Web服务,点击FileToolManage(wsdl)。服务后的wsdl链接可以看到对应的FileToolManagewsdl描述(这个里面才是我们真正对外发布的服务的具体描述:方法名,参数,返回值等等)。

9、把服务打成jar包放到客户端

 

 

 

 

你可能感兴趣的:(服务)