In diesem Artikel wird hauptsächlich der detaillierte Beispielcode für den JAVA-Aufruf des WCF-Dienstes vorgestellt. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden. Lassen Sie uns dem Editor folgen und einen Blick darauf werfen
Dieser Artikel wird das Problem des Aufrufs von WCF in Java lösen. Ursprünglich hatte ich geplant, Achse I zu verwenden Ich schreibe diesen Artikel, aber kurz bevor ich angefangen habe, habe ich zufällig das im Java-Paket enthaltene Tool wsimport entdeckt. Es ist äußerst erfrischend und spart Zeit bei der Konfiguration der Achse. Belassen Sie es also einfach dabei
Tatsächlich ist es mit wsimport extrem einfach, wcf in Java aufzurufen. Dies basiert natürlich auf der Verwendung weniger komplexer Dienste. Wenn Sie auch die Sicherheitsüberprüfung berücksichtigen müssen. Themen wie Veröffentlichung und Abonnement sind immer noch relativ komplex, aber ich werde in diesen drei Artikeln nicht so viel schreiben, ich möchte nur in der Lage sein, die drei Wörter von plattformübergreifend in der Praxis anzuwenden. Lassen Sie uns als Ausgangspunkt dienen.
1. Entwicklungsgrundlagen
Auf diese Weise müssen Sie dieses Kapitel nicht lesen, jdk+eclipse Sie müssen nicht einmal Eclipse verwenden, da das oben erwähnte wsimport-Tool nach der Java-Installation ein ausführbares Programm im bin-Verzeichnis ist. Wenn der Schlüssel eine Achse verwendet, ist nur Eclipse erforderlich.
2. WCF-Client generieren
verwendet den oben genannten wsimport. Wenn Sie die Java-Umgebungsvariablen richtig konfigurieren, können Sie ihn jetzt direkt in der Konsole verwenden x:/workspace/EmployeeManager/client
Öffnen Sie die Befehlszeile, wechseln Sie mit cd in das oben erstellte Verzeichnis x:/workspace/EmployeeManager/ und führen Sie dann den Befehl aus:
import –s client http ://192.168.11.1/emp/EmployeeManagement.svc?wsdl, und dann werden Sie feststellen, dass mehrere Dateien im Verzeichnis generiert wurden, einschließlich entsprechender Java-Entitätsklassendateien wie Employee.java und ObjectFactory, die komplexe Entitäten generiert. , denn hier werden nicht die Grundtypen String, Int usw. verwendet, sondern Typen wie JAXBElement 3. Entwicklungsprogramm 1. Erstellen Sie ein neues JAVA-Projekt in Eclipse. zum Beispiel Testprojekt 2. Klicken Sie mit der rechten Maustaste auf den Ordner src im Projekt und wählen Sie Importieren 3. Klicken Sie unter „Allgemein“ auf „Dateisystem“ und dann auf „Weiter“ 4. Klicken Sie einfach hinein Im nächsten Schritt Verzeichnis des Lebenslaufs und alle Ordner auswählen 5. Erstellen Sie eine neue Testdatei test.java Führen Sie das Programm aus und erhalten Sie das Ergebnis Fazit Das obige ist der detaillierte Inhalt vonEinführung in die Methode zum Aufrufen des WCF-Dienstes aus JAVA. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!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());
}
}