StackoverflowとWSO2ESBのドキュメントを何日も調べてきましたが、まだ明確な答えはありません。
私のアプリケーションはJavaScriptであり、Dojoフレームワークを使用しています。理想的には、すべてのWebサービス呼び出しはRESTに対して行われ、JSONを返す必要があります。この例440のために、SOAP xmlをJSONとして返す方法を知っています: " http // wso2.org / project / esb / java / 4.0.3 / docs / samples / Advancesd_mediation_samples.html#Sample440 "私は見ましたこのブログに投稿されたサンプルでも: " http //vvratha.blogspot.ca/2011/11/invoking-restful-service-via-wso2esb.html"soapUIなどのツールからプロキシサービスを呼び出すことができるようです結果をJSONで取得します。したがって、ESBが正しく機能しているとしか想定できませんが、dojo.xhrGetまたはdojo.io.script.getを使用してESBを呼び出そうとすると、データは常にNULLとして返されます!!!
ESBプロキシサービスを呼び出すことになっているRESTのメソッドは何ですか?サービスのwsdlを見ると、操作は「仲介」と呼ばれているように見えますが、それ以上はわかりませんでした。例800: " http // wso2.org / project / esb / java / 4.0.3 / docs / samples / rest_api_samples.html#Sample800 "を見てきましたが、これをどこで使用するかわかりません。
注:これらのhttpリンクについては、httpの後に「:」を追加してください。ハイパーリンクの割り当てが不足しているようです。
Rathaからの助けの後の詳細情報:1。これがプロキシサービスを呼び出す方法です:(後でさらにクエリ文字列パラメータがあります)http // loh7:8280 / services / TestRestProxy?address = 1460%20nicholson%20road
このメディエーションメッセージトラッカーダンプからのクエリ文字列はnullです。
13:10:10,803 [-] [HttpServerWorker-16] INFOプロキシサービスTestRestProxyが次の場所から新しいメッセージを受信しました:192.168.7.143
13:10:10,803 [-] [HttpServerWorker-16] INFOメッセージの宛先:/ services / TestRestProxy?address = 1460%20nicholson%20road
13:10:10,803 [-] [HttpServerWorker-16] INFO SOAPAction:null
13:10:10,803 [-] [HttpServerWorker-16] INFO WSA-アクション:null
13:10:10,803 [-] [ HttpServerWorker-16] INFOメディエーションにプロキシサービスの匿名のシーケンスを使用
13:10:10,804 [-] [HttpServerWorker-16] INFO開始:シーケンス
13:10:10,804 [-] [HttpServerWorker-16] INFOシーケンス: :mediate()
13:10:10,804 [-] [HttpServerWorker-16] INFO開始:ログメディエーター
13:10:10,805 [-] [HttpServerWorker-16] INFO querystring = null
13:10:10,805 [-] [HttpServerWorker-16] INFO終了:ログメディエーター
13:10:10,806 [-] [HttpServerWorker-16] INFO開始:ログメディエーター
13:10:10,806 [-] [HttpServerWorker-16] INFO終了:ログメディエーター
13:10:10,806 [-] [HttpServerWorker-16] INFO開始:メディエーターの送信
13:10:10,806 [-] [HttpServerWorker-16] INFOエンドポイントを介したメッセージの送信:EsriNA10がアドレスに解決=
プロキシは次のようになります。注:「address」値を抽出して、requestsoapメッセージの$1に入れたいと思いました。
<proxy xmlns="http://ws.apache.org/ns/synapse" name="TestRestProxy" transports="https,http" statistics="disable" trace="enable" startOnLoad="true">
<target>
<inSequence>
<log level="custom">
<property name="querystring" expression="get-property('REST_URL_POSTFIX')" />
</log>
<payloadFactory>
<format>
<GeocodeAddress xmlns="http://www.esri.com/schemas/ArcGIS/10.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Address xmlns="">
<PropertyArray>
<PropertySetProperty>
<Key>Street</Key>
<Value>$1</Value>
</PropertySetProperty>
<PropertySetProperty>
<Key>City</Key>
<Value>Newmarket</Value>
</PropertySetProperty>
<PropertySetProperty>
<Key>State</Key>
<Value>ON</Value>
</PropertySetProperty>
<PropertySetProperty>
<Key>Zip</Key>
<Value>L3Y 9C3</Value>
</PropertySetProperty>
<PropertySetProperty>
<Key>Country</Key>
<Value>CANADA</Value>
</PropertySetProperty>
</PropertyArray>
</Address>
<PropMods xmlns="">
<PropertyArray>
<PropertySetProperty>
<Key>OutputSpatialReference</Key>
<Value xmlns:q2="http://www.esri.com/schemas/ArcGIS/10.0" xsi:type="q2:ProjectedCoordinateSystem">
<WKID>102100</WKID>
</Value>
</PropertySetProperty>
</PropertyArray>
</PropMods>
</GeocodeAddress>
</format>
<args>
<arg expression="$ctx:querystring" />
</args>
</payloadFactory>
<log level="full" category="TRACE" separator="," />
<send>
<endpoint key="EsriNA10" />
</send>
</inSequence>
<outSequence>
<log level="full" separator="," />
<xslt key="out_transform" />
<property name="messageType" value="application/json" scope="axis2" type="STRING" />
<send />
</outSequence>
</target>
</proxy>