聊聊最近工作情况

       最近在做一个JD项目,保密工作非常严格,所以涉及到业务的东西都不能也不敢向外面透露。但是技术上还是可以向外分享的。

       这次的项目工作就是配合JD的C++原项目附加一个java的工作流模块。以前总是在java方向跑,对C++非常不熟悉,所以刚开始工作还是有不小的压力。但是有了这几年的项目经验,对业务理解还是很轻松的。

       因为要配合JD的C++原项目附加java的工作流模块,所以我们这边的工作就分成两个部分,一部分是提供一个客户端调用(这个客户端是C++的dll),主要是完成C++和java的通信管理,也就是和我们理论上的面向对象的接口没有什么区别。另外一部分就是java实现工作流(这一块还要嵌入C++窗体中,主要是客户要求保持整个系统的页面风格),并且提供相应的webservice供给客户端系统调用。

聊聊最近工作情况_第1张图片

        java工作流引擎部分和客户端系统的交互这部分工作有两个方面,一个是通过webservice的方式来提供接口,客户端调用,并且打包成dll文件;另外一个方面就是C++客户端系统生成webservie,我用java来调用(为以后相关业务的处理做准备)。

       业务理解清楚之后就开始coding了.java生成和发布webservice的方法和工具有很多,有的直接用注解@webservice、有的用cxf、还有的用axis和axis2的。我这里选择了axis2工具来实现的。

具体生成方法简单介绍一下:

1.  部署Axis2,下载axis2放到tomcat下,启动tomcat生成axis2文件夹。

2.  配置web.xml。这个要把axisServet配置起来,让tomcat已启动就初始化

3. 讲axis2文件夹下的conf、modules、services考到你的项目中的web-inf下

4.  导入aixs2的jar包

5.  编写要发布的类

6.  之后要配置services.xml文件

7.  具体配置代码:

<service name="HelloWorld">  
    <description>  
        HelloWorld Service Example
    </description>  
    <parameter name="ServiceClass">  
        com.cm.service.HelloWorld
    </parameter>  
    <operation name="sayHello">  
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  
    </operation>  
    <operation name="saySorry">  
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  
    </operation>  
    <operation name="getWorld">  
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
    </operation>  
    <messageReceivers>
             <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
                 class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
 	</messageReceivers>
 
</service>


8.  最后启动tomcat,打开浏览器输入url,查看webservice发布情况。

聊聊最近工作情况_第2张图片

       这样webservice提供的服务就做好了,剩下的就是等待C++调用了。

       另外一部分就是java调用c++提供的webservice,这部分其实也是非常容易的,有很多种方式,我主要还是用的AXIS2来实现调用的。利用AXIS2实现调用的方法也很多,在这里就不赘言,自己上网查阅资料。

你可能感兴趣的:(java,tomcat,C++,工作,webservice)