In diesem Artikel wird hauptsächlich die Hintergrundaufrufklasse HttpURLConnection vorgestellt, die für Schnittstellenaufrufe verwendet werden kann und einen bestimmten praktischen Wert hat zu Folgendem
Im Allgemeinen ist es unvermeidlich, während der Projektentwicklung auf Aufrufe externer Schnittstellen zu stoßen. Dieser Artikel beschreibt die Beispiele von Java. Die Methode zum Aufrufen der HttpURLConnection-Klasse im Hintergrund zur Simulation von Browseranforderungen kann für Schnittstellenaufrufe verwendet werden und wird zu Referenzzwecken mit allen geteilt
Schreiben Sie vorne:
Das Projekt ist Java Web, JDK1.4, Weblogic 7; das .net-System der anderen Partei verwendet eine mit WCF entwickelte Schnittstelle. Die andere Partei stellt die Schnittstellen-URL-Adresse und Anweisungen zum Aufrufen in der Post-Methode bereit. Es ist nicht erforderlich, Parameter zu übergeben, und es werden direkt JSON-Arrays (Daten im JSON-Array-Format) zurückgegeben.
Es gibt viele Methoden zum Aufrufen B. Framework-Aufruf, Ajax-Aufruf und URLConnection. Aufgrund der Anforderungen des Projekts müssen wir die Schnittstelle des .net-Systems der anderen Partei remote aufrufen ist Java und JDK ist 1.4, daher können einige Mainstream-Framework-Aufrufe nicht mehr verwendet werden. Im Allgemeinen ist JDK1.6 oder höher erforderlich. Apropos, axis kann auf jdk1.4 angewendet werden, aber bei der Verwendung der clientseitigen Codegenerierungsmethode fehlten die von mir generierten Klassen, also habe ich entschieden aufgegeben -Domain-Aufrufschnittstelle (auch Das heißt, die Systeme beider Parteien befinden sich nicht auf demselben Server) und für den Zugriff ist die Post-Methode erforderlich, sodass die Ajax-Methode nicht funktioniert, da Ajax natürlich keine domänenübergreifende Unterstützung bietet JSONP kann domänenübergreifend verwendet werden, der Zugriff erfolgt jedoch über die get-Methode. Nachdem ich zwei oder drei Tage lang gekämpft und versucht hatte, bat ich den Meister von Tieba um Hilfe. Der Meister sprach mit mir und bat mich, über httpurlconnection, die URLConnection-Aufrufschnittstelle, darauf zuzugreifen. Danach habe ich die Videonotizen des Webservices von Chuanzhi Podcast herausgenommen. Darin wurde auch die Verwendung der URLConnection-Aufrufschnittstelle erwähnt, also wollte ich es versuchen. Es hat funktioniert ... es ist so kraftvoll. . . (Es scheint, dass diese Methode auf den Aufruf verschiedener Schnittstellen angewendet werden kann und auch Webservices aufrufen kann. Jeder kann es versuchen. Haben Sie keine Angst, wenn Sie auf Probleme stoßen, hahaha ...)
1. Vorbereitung:
Es scheint, dass keine Notwendigkeit besteht, verwandte JAR-Pakete für die URLConnection-Aufrufschnittstelle zu importieren. Was hier zurückgegeben wird, ist die Zeichenfolge des JSON-Arrays. Daher muss ich hier das JSON-bezogene JAR verwenden, um es abzurufen. Importieren Sie einfach das JSON-JAR-Paket.
Code: Sie können zunächst ein Haupt-Java-Programm schreiben, um es zu verbinden und zu testen, und es dann zum Aufrufen in ein bestimmtes Projekt einfügen.
URL url = URL("http://10.10.10.83/GetProjectNameService/GetProjectNameService.svc/getProjectName"URLConnection conn =HttpURLConnection httpConn =System.setProperty("sun.net.client.defaultConnectTimeout", "30000""sun.net.client.defaultReadTimeout", "30000"httpConn.setDoInput(httpConn.setUseCaches(httpConn.setRequestMethod("POST"OutputStream out =ObjectOutputStream objOut = String(""InputStream in =StringBuffer sb = = = ""(httpConn.getResponseCode() == 200BufferedReader reader = BufferedReader( InputStreamReader(in,"UTF-8"= ((line = reader.readLine()) != ="返回结果:"+jarr = ( i=0;i<jarr.length();i++
Das obige ist der detaillierte Inhalt vonGeben Sie die URLConnection-Aufrufschnittstelleninstanz frei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!