php soap client - wie mache ich das in java (zB axis)?

  • Hallo zusammen!

    Ich habe folgendes php codestück zum Testen eines SOAP php servers:

    <?
    $arr_soapClient = array('exceptions' => 0,
    'login' => $USERNAME,
    'password' => $PASSWORD,
    'encoding' => "ISO-8859-1",
    'use' => SOAP_ENCODED);
    try {
    $client = new SoapClient($PATH_TO_WSDL_DATEI, $arr_soapClient);
    } catch (SoapFault $fault) {
    // error Handling
    }

    if (is_object($client)) {
    $client->__setCookie ("ID",$ID);
    $result = $client->test();
    ...


    Kann mir jemand helfen, für dieses Codestück einen äuquivalenten Java-SOAP-Client zu bauen? Ich verwende zurzeit Apache Axis:


    Call call =

    null;

    try {
    // URL des Web Service
    String endpoint =

    "path_to_php_server";

    //Service- und Aufruf-Objekt erzeugen
    Service service =

    new Service();

    call = (Call) service.createCall();
    // Adresse und Methode des Aufrufs
    call.setTargetEndpointAddress (
    new java.net.URL (endpoint));


    call.setUsername("username");
    call.setPassword("passwort");


    call.setProperty("exceptions", "0");
    call.setProperty("login", "username");
    call.setProperty("password", "password");
    call.setProperty("encoding", "ISO-8859-1");
    call.setProperty("use", "SOAP_ENCODED");


    Hashtable<String, Object> valueMap = new Hashtable<String, Object>();
    valueMap.put("exceptions", "0");
    valueMap.put("login", "username");
    valueMap.put("password", "password");
    valueMap.put("encoding", "ISO-8859-1");
    valueMap.put("use", "SOAP_ENCODED");

    call.setProperty(HTTPConstants.HEADER_COOKIE, "ID=1");
    QName operation =

    new QName("test");

    //call.setOperationName(operation);
    // Aufruf absenden und Rückgabewert speichern
    Object[] params =

    new Object[] { valueMap };

    String ergebnis = (String)call.invoke(operation, params);


    Ich bin mir nicht sicher, wie ich einen äuquivalentes SoapClient-object in Java erzeuge, und wie ich Cookies setzen kann.


    Ich hab es auch mit wsdltojava probiert, um die Java Klassen erstellen zu lassen, hat aber mit der gegebenen WSDL nicht funktioniert.


    Kann mir jemand helfen, den php-code in java umzumünzen?

  • schau dir mal das package javax.xml.soap an, das sollte die einfachste möglichkeit sein soap messages zu verschicken:

    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."

    &#128513;&#128514;&#128515;&#128516;&#128517;&#128518;&#128519;&#128520;&#128521;&#128522;&#128523;&#128524;&#128525;&#128526;&#128527;&#128528;&#128530;&#128531;&#128532;&#128534;&#128536;&#128538;&#128540;&#128542;&#128544;&#128545;&#128546;&#128547;&#128549;&#128552;&#128553;&#128554;&#128555;&#128557;&#128560;&#128561;&#128562;&#128563;&#128565;&#128566;&#128567;

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!