0

私の問題の解決策を考えていますが、私を助けることができるものは何も見つかりませんでした:(

これは私の問題です: ESB を介してリモート REST Web サービスを呼び出し、クライアント呼び出しを DB に記録したいと考えています。POST クエリ変数をリモート ws にも渡したいと思います。たとえば、name=value & name2=value2!

プロキシ サービスを作成しましたが、クエリ変数を IT に追加する方法がわかりません。

このプロキシを使用してリモート ws に正しく接続できますが、その方法がわからないため、POST VAR を渡すことができません。

クライアント シェルで以下の curl 呼び出しを行います。

curl -k -i http://neanb330:8281/services/BioframeProxyService

私のプロキシ サービスには、次のエンドポイントがあります。

http://www.ebi.ac.uk/Tools/services/rest/emboss_matcher/run

しかし、このサービスは入力に2つのパラメーターを必要とし、クライアントのために順番に書きたいジョブIDを出力します。

REST API を作成する必要がありますか? クライアント呼び出しをデータベースに記録するにはどうすればよいですか?

ありがとう

4

3 に答える 3

0

Rest to rest シナリオで GET と POST の両方の解決策を見つけました。

これは POST 用です。プロキシ サービスと curl 呼び出しを使用します。

    <?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="BioframeProxyServiceRunBis"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full"/>
         <property name="ContentType" value="text/xml" scope="axis2" type="STRING"/>
         <switch source="$axis2:HTTP_METHOD">
            <case regex="GET">
               <property name="HTTP_METHOD" value="GET" scope="axis2" type="STRING"/>
            </case>
            <case regex="POST">
               <property name="HTTP_METHOD" value="POST" scope="axis2" type="STRING"/>
            </case>
            <default/>
         </switch>
         <send>
            <endpoint>
               <address uri="http://www.ebi.ac.uk/Tools/services/rest/emboss_matcher/run/"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>

curl -k -X POST https://neanb330:8244/services/BioframeProxyServiceRunBis -d asequence=FASTA -d bsequence=FASTA -d email=maforast@gmail.com -v

DBへのセーブレストコールの解決策が見つかりません

于 2013-10-21T08:57:24.160 に答える