3

私は WSO2 ESB の初心者です。SOAP ベースのサービスのサービス プロキシを実行しています。私のエンドポイント サービスには複数のメソッドがあります。フロー ファイルで特定の操作 (メソッド) を宣言する方法を教えてください。操作のエンドポイント参照を取得しているため、見つかりません。

以下は私のプロキシサービスのsrcです

 <target>
      <inSequence>
         <log level="full"/>
         <log/>
         <send>
            <endpoint>
               <address uri="http://10.203.60.249:9768/services/EmployeeService/"/>
            </endpoint>
         </send>
      </inSequence>
   </target>

ここで私の EmployeeService には複数の操作があります。それで、サービスの特定の操作を呼び出すために何をする必要がありますか。つまり、getSalary、editAddress などの操作があります。

4

5 に答える 5

3

このようにシーケンスでアクション ヘッダーを定義することにより、エンドポイントの操作を指定できます。ここで、値は操作名 (SOAP アクション) である必要があります。

 <header name="Action" value="urn:getSalary"/>
于 2013-09-17T07:11:29.737 に答える
0

SOAP (Java から) を使用して WSO2 Web サービスを呼び出すときに、いくつかの問題が発生しました。一部の WSO2 製品は、バージョン 1.1 の SOAP プロトコルを引き続き使用しています。2003 年にバージョン 1.2 が公開されました。SOAP 1.1 では要素 SOAPAction が必須であったため、Java クラスを生成すると、マーシャリング後にこの要素がリクエストに含まれなくなります。

WSO2 ESB は、バージョン 1.2 ですでに SOAP を使用しています。ただし、ACTION を指定することが重要です。たとえば、Spring を使用して、コールバックで ACTION を指定します。 Object response = getWebServiceTemplate().marshalSendAndReceive( obj, new SoapActionCallback( "urn:getInstanceInfo"));

(サーバー側で) Java からの生のリクエストと SoapUI からのリクエストを比較すると便利です。多くの場合、SoapUI からの呼び出しは問題なく機能しますが、Java からの呼び出しは機能しません。

于 2015-02-02T08:46:11.807 に答える