この記事では主に、JAVA が WCF サービスを呼び出すための詳細なサンプル コードを紹介します。編集者が非常に優れていると考えたので、参考として共有します。エディターをフォローして見てみましょう
この記事では、以前の記事で IIS でホストされている WCF サービスを引き続き使用する問題を解決します。しかし、始める直前に、Java パッケージに含まれている wsimport ツールを偶然発見しました。これは非常に使いやすく、軸の構成にかかる時間を節約します。これで終わりです
実際、wsimport を使用すると、Java で wcf を呼び出すことが非常に簡単になります。もちろん、これは、セキュリティの検証、パブリッシュ、サブスクリプションなどの問題も考慮する必要がある場合に基づいています。など、まだ比較的複雑ですが、この 3 つの記事ではそれほど多くを書くつもりはありません。クロスプラットフォームという 3 つの言葉を実際に適用できるようにしたいだけです。他者を惹きつける役割を担いましょう。
1. 開発の要点
このように、Java 開発を行っている限り、この章を読む必要はありません。jdk+eclipse を使用する必要もありません。上記のツールはJavaにインストールされた後のbinディレクトリに実行可能プログラムです。キーが axis を使用する場合は、Eclipse のみが必要です。
2. 上記の wsimport を使用して WCF クライアント
を生成します。Java 環境変数を正しく設定すると、コンソールで直接使用でき、フォルダー x:/workspace/EmployeeManager/client
を開きます。行で、上で作成したディレクトリ x:/workspace/EmployeeManager/ に移動し、コマンド:
import –s client http://192.168.11.1/emp/EmployeeManagement.svc?wsdl を実行すると、次のようになります。 Employee.java や複雑に生成されたエンティティの ObjectFactory など、対応する Java エンティティ クラス ファイルを含む複数のファイルがディレクトリ内に生成されたことがわかりました。これは、ここで使用されているのは String、Int などの基本型ではなく、クラスであるためです。 JAXBElement 3. 開発プログラム 1. Eclipse で新しい JAVA プロジェクト (testproject など) を作成します。 2. プロジェクト内の src フォルダーを右クリックし、[インポート] を選択します。 3. [全般] ファイルで [F] をクリックします。 [システム] をクリックし、[次へ] をクリックします 4. 次のステップでは、履歴書のディレクトリをクリックしてすべてのフォルダーを選択しますimport org.datacontract.schemas._2004._07.contracts.*;
import com.microsoft.schemas._2003._10.serialization.*;
import org.tempuri.*;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
//使用ObjectFactory帮助生成实体类对象
org.datacontract.schemas._2004._07.contracts.ObjectFactory factory=new org.datacontract.schemas._2004._07.contracts.ObjectFactory();
Employee emp=factory.createEmployee();
//设置属性,同样使用ObjectFactory帮助设置,因为这里的类型有别与基础类型
emp.setId(factory.createEmployeeId("dev001"));
emp.setName(factory.createEmployeeName("James White"));
emp.setDepartment(factory.createEmployeeDepartment("Development"));
//调用的方法略显古怪,需要注意
EmployeeManagement empManagement=new EmployeeManagement();
IEmployeeManagement iempManagement=empManagement.getBasicHttpBindingIEmployeeManagement();
SalaryDetail salaryDetail=iempManagement.getSalaryOfLastMonth(emp);
//输出结果
System.out.println("Employee ID:"+salaryDetail.getId().getValue());
System.out.println("Salary Date:"+salaryDetail.getDate().getMonth());
System.out.println("Salary:"+salaryDetail.getSalary().toString());
}
}
4. 結論
以上がJAVAからWCFサービスを呼び出す方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。