HTTP Einfache HTTP-Anfrage

Dit_

Bekanntes Mitglied
Hallo,

folgende Situation:

Auf einem smartphone wird die aktuelle Benutzerposition erfasst, man hat also latitude und longitude zur Verfügung. Jetzt soll ich auf einem Webserver (Rootserver) einen Dienst anbieten, dieser soll für eine Position (Request) eine URL (Reply) ermitteln. Hinter diesem Dienst befindet sich dann eine große Datenbank (ist schon vorhanden).

Ungefähr so solls aussehen:

REQUEST: http://irgendeinwebserver.de/dienst?lon=51.04867;lat=9.373871
REPLY: "http://www.abc.de/blabla.xml"

Wie könnte ich so einen Dienst realisieren?

Danke schon mal! 😳
 
PHP, JSP, ... such dir was aus. Oder was ist jetzt das konkrete Problem? Wie man Webseiten mit Java macht findet man zu hauf im Internet.
 
Default Webservice mit AXIS2? :autsch:

Simple Webserver?

PHP Script?

Webservice mit PHP?

Du kommst nicht auf die Lösung?
 
Also ich versuche mich in das Thema Webservices einzuarbeiten...

Hier ist ein Beispiel:

Java:
@WebService
@SOAPBinding(style = Style.RPC)
public class MyService {
    
    public String getInfo(int lat, int lon) {
        return "blahblah";
    }
}


Java:
public class Server {
    
    private static final String URL = "http://localhost:8080/info";
    
    public static void main(String args[]) {
        Endpoint.publish(URL, new MyService());
    }
}


Wenn ich den Server starte und im Browser "http://localhost:8080/info?wsdl" eingebe, bekomme ich XML Beschreibung des Services, funktioniert also.

[XML]
<definitions targetNamespace="http://service/" name="MyServiceService">
<types />
<message name="getInfo">
<part name="arg0" type="xsd:int" />
<part name="arg1" type="xsd:int" />
</message>
<message name="getInfoResponse">
<part name="return" type="xsd:string" />
</message>
<portType name="MyService">
<operation name="getInfo" parameterOrder="arg0 arg1">
<input message="tns:getInfo" />
<output message="tns:getInfoResponse" />
</operation>
</portType>
<binding name="MyServicePortBinding" type="tns:MyService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="rpc" />
<operation name="getInfo">
<soap😱peration soapAction="" />
<input>
<soap:body use="literal" namespace="http://service/" />
</input>
<output>
<soap:body use="literal" namespace="http://service/" />
</output>
</operation>
</binding>
<service name="MyServiceService">
<port name="MyServicePort" binding="tns:MyServicePortBinding">
<soap:address location="http://localhost:8080/info" />
</port>
</service>
</definitions>
[/XML]

Frage: wie kann ich jetzt im Browser die Methode getInfo(123,456) aufrufen? bzw ist das überhaupt möglich?

Habe "http://localhost:8080/info/getInfo?arg1=1&arg2=234" probiert... es kommt aber zu einer Fehlermeldung:

Web Services

No JAX-WS context information available.
 
Zuletzt bearbeitet:
Du hast auch einen SOAP Webservice erstellt. Dieser ist um einiges komplizierter aufgebaut als du dir es gerade vorstellst. Schau dir mal REST an.
 
ok scheint genau das richtige zu sein, problem ist nur, es gibt 10000 Treffer im Google zum Thema REST webservice. ziemlich unübersichtlich. Umgebungsvariable muss gesetzt werden... was ist das für Dispatcher? Geht es vielleicht einfacher, ohne, dass ich meinen Kode, wegen so einer Kleinigkeit um 10 mb (JAXWS2.2.5 bib) erweitere?

Wäre ein solcher Service mit jdk-mitteln zu erreichen?
 

Zurück
Oben