JAVA+FLEX与SAP RFC连接

FLEX炫界面,JAVA做后台服务类,读取操作SAP的数据.

用BlazeDs做JAVA+FLEX的通信配置.

JAVA:

在proxy-config.xml中做如下配置:

<?xml version="1.0" encoding="UTF-8"?>
<service id="proxy-service"
    class="flex.messaging.services.HTTPProxyService">

    <properties>
        <connection-manager>
            <max-total-connections>100</max-total-connections>
            <default-max-connections-per-host>2</default-max-connections-per-host>
        </connection-manager>
        <allow-lax-ssl>true</allow-lax-ssl>
    </properties>

    <adapters>
        <adapter-definition id="http-proxy" class="flex.messaging.services.http.HTTPProxyAdapter" default="true"/>
        <adapter-definition id="soap-proxy" class="flex.messaging.services.http.SOAPProxyAdapter"/>
    </adapters>

    <default-channels>
        <channel ref="my-amf"/>
    </default-channels>

    <destination id="DefaultHTTP">
    </destination>
   
 <destination id="getList">
        <properties>

            <wsdl>http://服务器地址:8000/sap/bc/soap/wsdl/?services=Z_RFC_GETLIST</wsdl>
            <soap>*</soap>
        </properties>
        <adapter ref="soap-proxy"/>
    </destination>

       
</service>

注:Z_RFC_GETLIST为RFC名称,getList为FLEX端调用时用的服务ID.

FLEX:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
<mx:Script>
 <![CDATA[
  import mx.events.ListEvent;
  import mx.rpc.events.FaultEvent;
  import mx.collections.ArrayCollection;
  import mx.rpc.events.ResultEvent;
  import mx.controls.Alert;
  [Bindable]
  var ac:ArrayCollection = new ArrayCollection();
  
  private function ckGetUser():void{
   var para:Object=new Object();
   para.USERID="";
   para.USERNAME="";
   getList.Z_RFC_GETLIST(para)
  }
  
  public function onResultUserGet(event:ResultEvent):void{
   var o:Object = new Object();
   ac = (event.result.T_USER) as ArrayCollection;
   for(var i:int = 0 ; i<ac.length ; i++){
    o = ac[i];
    trace(o.USERID);
    trace(o.USERNAME);
   }
  }
  private function getError(event:FaultEvent):void{

      //异常处理
  }
  
 ]]>
</mx:Script>
<mx:WebService id="getList" destination="getList" useProxy="true" showBusyCursor="true"
 result="onResultUserGet(event)" fault="getError(event)"/>

 
 <mx:Button x="48" y="108" label="getUser" click="ckGetUser()" width="92"/>
 <mx:DataGrid dataProvider="{ac}" x="162" y="107" width="286" height="246">
  <mx:columns >
   <mx:DataGridColumn dataField="USERID" />
   <mx:DataGridColumn dataField="USERNAME" />
  </mx:columns>
 </mx:DataGrid>
</mx:Application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值