1

だから私は次のようなメッセージ部分を定義するwsdlを持っています

<wsdl:message name="processEnvelopeResponse">
    <wsdl:part name="processEnvelopeReturn" type="xsd:base64Binary"/>
</wsdl:message>

これは xsd にマップされ、他の xsd などをインポートします。

次の質問があります。

  1. xsd からメッセージ パーツ オブジェクトを生成するにはどうすればよいですか

これは無視してください。私は答えを見つけました。xsd を wsdl ファイルにインポートする限り、これを行うことができます。後で詳しく説明します

  1. メッセージオブジェクトを直接入力してネットワーク経由で渡すことができるように、クライアント側オブジェクトを生成するにはどうすればよいですか
  2. 生成されたオブジェクトを base64Binary に変換して Web サービスを呼び出すにはどうすればよいですか (これは上記が不可能であると想定しています)
4

1 に答える 1

1

私自身の質問に答えて、xsd のリストから Web サービスを呼び出すためのアーティファクトを生成できましたが、Web サービスを呼び出すときにそれらを使用できませんでした。

そのため、手動で XML を生成する必要がありましたが、幸運なことに、これは小さな呼び出しでした。

String input="XML";
byte[] s = port.processEnvelope(input.getBytes());

また、応答が xsd:base64Binary にも含まれていたため、応答を処理するために着信文字列を xml オブジェクトにマップする必要がありました。

String xmloutput = new String(s,"UTF-8");

次に、jdom を介して xmloutput を配置し、データを取得しました。

全体として、Web サービスを実装する愚かな方法です。

于 2009-07-24T09:53:15.033 に答える