2017-03-16 24 views
2

私はFlexで作業していますが、コンテンツ 'HTTPS' protocalではなく、calculateEndpoint() Channelクラスのメソッドのurl(https://jsonplaceholder.typicode.com/posts/1)をAMFChannelに渡すと、 プロトコル「HTTPS」から「HTTP」に変更します。AMFChannelのエンドポイントのプロトコルを変更する方法は?

私は、エンドポイントがAMFChannelによってどのように変更されるかを示す簡単なプロジェクトも作成しました。

<?xml version="1.0"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"> 
<fx:Script><![CDATA[ 
    import mx.controls.Alert; 
    import mx.messaging.ChannelSet; 
    import mx.messaging.channels.AMFChannel; 
    import mx.rpc.AbstractOperation; 
    import mx.rpc.remoting.mxml.RemoteObject; 


    private function button1_clickHandler(event:MouseEvent):void 
    { 
     var amfChannelWeb:AMFChannel = new AMFChannel("amfChannel", txtInput.text); 

     var remoteObj:RemoteObject = new RemoteObject(); 
     remoteObj.showBusyCursor = true; 
     remoteObj.requestTimeout = 0; 

     var channelSet = new ChannelSet(); 
     channelSet.channels = [amfChannelWeb]; 


     remoteObj.destination = "amfphp"; 
     remoteObj.channelSet = channelSet; 


     var op:AbstractOperation = remoteObj.getOperation("testAmfData"); 
     op.send(); 
     op.addEventListener("result", resultHandler); 
     op.addEventListener("fault", resultFaultHandler); 
     lblEndpoint.text = amfChannelWeb.endpoint; 
    } 

    private function resultHandler(e:Event):void 
    { 
     lblChannelError.text = e.toString(); 
    } 

    private function resultFaultHandler(e:Event):void 
    { 
     lblChannelError.text = e.toString(); 
    } 
    ]]></fx:Script> 

<s:VGroup width="100%"> 

    <s:TextInput width="80%" id="txtInput" text="https://jsonplaceholder.typicode.com/posts/1"/> 
    <s:Button click="button1_clickHandler(event)" label="Click"/> 
    <s:Label id="lblEndpoint"/> 
    <s:Label id="lblChannelError"/> 

</s:VGroup> 

この問題であるか、私は気にいら間違ってやっています?

答えて

3

代わりのAMFChannelとは、回答@Sumitため

var amfChannelWeb:SecureAMFChannel = new SecureAMFChannel("amfChannel", txtInput.text); 
+0

おかげで以下のようにSecureAMFChannelを使用するが、私はそれは私のプロジェクトで多くの影響を与えるよりも、チャンネルを変更した場合、私はすでにプロジェクトでたAMFChannelを使用しています。 AMFChannelのソリューションはありますか? –

+0

BlazeDSを使用してJavaサービスに接続している場合は、services-config.xmlで安全なチャネルを作成し、そのチャネルを宛先に割り当てることができます。このリンクは、http://www.adobe.com/devnet/flex/articles/flex_java_architecture.html – Sumit

+0

あなたの答えを再度ありがとうございます。私は私のプロジェクトでSecureAMFChannelを使用し、私は必要ないくつかの変更を加えました。さらにそれは適切に動作します。今私のプロジェクトはHTTPからHTTPSに移行します。 ありがとうございました。 –