0

何かを処理するために Web サービスを呼び出す必要がある Web アプリケーションがあります。いつものように、クライアント コードに基づいてコードを作成できるように、クライアントにクライアント コードを要求します。

ただし、指定されたクライアント コードは jar ファイル形式です。したがって、私は本当にそれを変更します。私はそれを呼び出すことができます。

今、私はいくつかの問題を抱えています。指定されたクライアント コードは最新ではありません。つまり、私が使用するクライアント コードは、実際の Web サービスと実際には一致しません。

これは、SOAP UI を介して Web サービスを起動するために使用する wsdl の一部です。

<attributeSet>
            <!--Zero or more repetitions:-->
            <attributes>
               <value>mmm</value>
               <attributeID>DP</attributeID>
            </attributes>
         </attributeSet>

指定された wsdl で SOAP UI を使用して Web サービス ベースを起動すると、次のようなエラーがスローされます。

AttributeSet::validateFieldType (Field 'Password Format' (Field ID 30), data type 'STRING' (Type ID 1), Field value '0', Attribute set Credentials)

したがって、Web サービス担当者に連絡して、最新のクライアント コードが欲しいことを伝えます。しかし、サイトの技術的な問題により、最新のクライアント コードを提供できませんでした。そして、次のように wsdl を自分で変更するように求められます。

<attributeSet>
            <!--Zero or more repetitions:-->
            <attributes>
               <value xsi:type="xsd:string">m</value>
               <attributeID>DP</attributeID>
            </attributes>
         </attributeSet>

SOAP UI 呼び出しで動作します。

ただし、Javaでコーディングしたいので、指定されたクライアントコードを使用して値を設定します。

ca1.setAttributeID("DP");
ca1.setValue("m");

xsi:type="xsd:string"アプリケーションからいつWebサービスを呼び出すかを指定するには、Javaコードで何をコーディングできますか?

4

1 に答える 1

0

WSDL がある場合は、Java コードを生成できます。コードを生成するこの方法は、トップダウン Web サービス開発と呼ばれます。

Maven を使用している場合は、wsdl の Java コードに関するこの質問をご覧ください。

Eclipse を使用している場合は、プロジェクト タイプとして新しい Web サービス クライアントを選択することで、WSDL から新しい Web サービス クライアントを作成することもできます。以下のスクリーン ショットを参照してください。

ここに画像の説明を入力

次に、WSDL を次のダイアログに追加し、手順を最後まで実行します。以下のスクリーン ショットを参照してください。

ここに画像の説明を入力

Netbeans やその他の IDE では、WSDL から Java クラスを生成することもできます。Maven は、すべての IDE で動作するので便利です。

于 2018-08-09T05:06:59.817 に答える