美文网首页
AXIS使用wsdl2java 访问SAP Webservice

AXIS使用wsdl2java 访问SAP Webservice

作者: 浮云骑士_ | 来源:发表于2017-04-06 15:54 被阅读0次

    之前有一篇讲过通过java自带的生成客户端代码
    http://www.jianshu.com/p/63956df1775b

    但是有个问题,就是文件多,复杂,如果webservice多了 ,会造成文件混乱,而axis就很好的解决这个问题,只有一个***Stub文件。

    下载AXIS2

    链接
    http://axis.apache.org/axis2/java/core/download.cgi

    其中bin的是我们需要运行的代码,src是源码,war是怎么发布axis2到服务器上的,pulgin则是一些idea软件的插件

    下载完后,我们打开可以看到有多个文件夹,其中bin文件夹是脚本,.bat是win的脚本,.sh是linux和mac的脚本,我们就是使用这些脚本来生成我们的wsdl客户端代码的。

    配置AXIS2

    我用的mac,需要配置JAVA_HOME就行了。

    具体是在
    http://www.cnblogs.com/iOS-mt/p/5726380.html
    按照步骤可以配置好,我记录一下操作

    1. usr目录下没有. bash_profile的使用touch .bash_profile
    2. vi .bash_profile 编辑. bash_profile文件
    3. 写入代码
    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
    
    CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    PATH=$JAVA_HOME/bin:$PATH:
    
    export JAVA_HOME
    
    export CLASSPATH
    
    export PATH
    
    1. 退出编辑:wq (先control+c)
    2. 环境变量生效 source .bash_profile

    编译生成客户端代码

    贴代码

    (定位到刚才解压的axis的目录下或者直接进入bin目录)/axis2-1.7.4/bin/wsdl2java.sh -uri http://ip:port/sap/bc/srt/wsdl/flv_10002A111AD1/bndg_url/sap/bc/srt/rfc/sap/zcs_ws003/300/zcs_ws003/zcs_ws003?sap-client=300   -p client -s -o stub
    

    -p 是生成的包名
    -o 是生成的文件夹名称

    利用生成的代码访问远程webservice

    由于我们的sap必须要用户认证,不多说,看网址
    http://blog.csdn.net/coolcoffee168/article/details/50058363
    在生辰搞得***Stub文件下定位到populateAxisService();populateFaults(); 下,然后加上权限的代码,OK😄

    记录一下代码
    ***Stub源码

    ...
    HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();
    auth.setUsername("****");  
    auth.setPassword("*****");  
    service._serviceClient.getOptions().setProperty(HTTPConstants.AUTHENTICATE, auth);
    ...
    

    Main函数

    ZTIHOSQStub service = new ZTIHOSQStub();  
    ZEMALL121 params = new ZEMALL121();  
    ZEMALL121Response response = service.zEMALL121(params);  
    System.out.println(response.getEV_TYPE());  
    System.out.println(response.getEV_MESG()); 
    

    庆祝👍

    相关文章

      网友评论

          本文标题:AXIS使用wsdl2java 访问SAP Webservice

          本文链接:https://www.haomeiwen.com/subject/bpafattx.html