Ich benutze JAX-WS und ich habe Probleme beim Abrufen der Client-Informationen, die einen Webservice verbraucht. Ich habe herausgefunden, wie man es mit JAX-RPC und Apache Tomcat Axis macht, aber nicht mit JAX-WS. Hat jemand eine Idee dazu?Die IP-Adresse eines Clients erhalten Für einen Webservice
Antwort
Was dazu:
@WebService
public class MyService {
@Resource
WebServiceContext wsContext;
/**
* Web service operation
*/
@WebMethod
public String myMethod() {
MessageContext mc = wsContext.getMessageContext();
HttpServletRequest req = (HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST);
System.out.println("Client IP = " + req.getRemoteAddr());
}
}
Oder diese:
@Path("terminal") public class terminal { @Context private javax.servlet.http.HttpServletRequest hsr; @GET @Path("get_ip") @Produces("text/plain") public String get_ip() { return ip = hsr.getRemoteAddr(); } }
Gilt dies nicht nur für REST? – Koekiebox
Einen großen und geschätzten Hauch von Zayin und Darren Antwort/bearbeiten, habe ich versucht, diese, und es funktioniert auch.
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("ip")
public String sayIP(@Context HttpServletRequest req, @QueryParam("p1") String p1, ...) {
return req.getRemoteAddr();
}
public String getIp(@Context HttpServletRequest req) {
return req.getRemoteHost();
}
@Context kann nicht identifiziert werden, und kein Import wird vorgeschlagen, was genau ist das? –
@ united-expression, https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/core/Context.html, https://jersey.java.net/documentation/ letzte/jaxrs-resources.html –
- 1. Apache Unerwartete Subelementausnahme beim Generieren eines Webservice-Clients
- 2. Suche einen Webservice, die
- 3. Beispiel für einen guten Webservice
- 4. Generieren eines WCF-Clients für MODIS-Webdienst
- 5. Webservice dynamische invoke + Rohdaten erhalten
- 6. Ändern der URL eines Webservice-Clients, der mit wsimport generiert wurde
- 7. Funktion, die einen Wert aus Webservice
- 8. ExecutionEngineException für einen HttpDuplexBinding-Webservice-Aufruf
- 9. Wie erhalten Sie die IP-Adresse eines Remote-EJB-Clients in Glassfish?
- 10. Erhalten Sie die echte IP-Adresse des Clients auf Heroku
- 11. Einen Route-Parameter für die Lösung erhalten
- 12. Wie bekomme ich die Remote-Adresse eines Clients in Servlet?
- 13. Wie kann ich einen Defaultdict für unerwartete Clients sichern?
- 14. Erstellen eines Web-Service-Clients direkt von der Quelle
- 15. Implementierung einer Schnittstelle eines Webservice
- 16. Debugging eines Jax-WS-Clients in Eclipse
- 17. Anzeigen von Datenbankwerten, die durch einen REST-fähigen Webservice auf einer JSP-Seite erhalten wurden
- 18. WPF ProgressBar für Webservice Call
- 19. Wie bekomme ich die MAC-Adresse eines Clients von HttpServlet?
- 20. Wie bekomme ich die LAN IP eines Clients mit Java?
- 21. So authentifizieren Sie die Anmeldeinformationen eines Clients über MongoDB & Restheart
- 22. Beschreibung für Webservice-Parameter
- 23. Keystore für WebService-Client
- 24. Java Verbindung zu Webservice erhalten SunCertPathBuilderException
- 25. Erhalten eines Formulars Get-Parameter
- 26. IIS-Komprimierung für WebService Rückgabe eines großen Zeichenfolgenwerts
- 27. Einreichen und Überwachen eines unzuverlässigen Webservice
- 28. Abrufen einer Liste verbundener Clients für einen WCF-Dienst
- 29. Wie man einen Server für LAN-Clients erkennbar macht
- 30. YouTrack Connector für verschiedene Clients
Ich glaube, ich verpasst nur die @Resource Anmerkung. – monksy
Nach meinem besten Wissen ist dies die beste Beschreibung, wie man das im gesamten Internet macht. ;) Danke, Pascal! – Zakum
Ich versuche das gleiche, aber mc Größe 22 und "Anfrage" ist null. Ich verstehe nicht warum, hast du eine Idee? – luffy