Announcement

Collapse
No announcement yet.

SOAP liefert mir null, warum!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SOAP liefert mir null, warum!

    Hallo alle Zusammen!

    Ich versuche ein Web Service, das mir Daten aus einer MySQL Datenbank holen soll.
    Der Server benutzt einige JavaBeans um die Typen zu serialisieren. Als Ergebnis soll
    ich ein String in Form von XML-Dokument erhalten.Das Erstellen vom XML-Dokument geschieht
    durch eine andere Klasse. Das Alles funktioniert als normale
    Javaprogramm wunderbar und liefert mir die Daten sehr korrekt(ich habe es getestet).
    Aber als Web Services bekommen ein Null-Ergebnis:

    <pre>
    &lt;ns1:zeigeAlleArtikelResponse xmlns:ns1="urn:AnfrageService"
    SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"&gt;
    &lt;return xsi:type="xsd:string" xsi:nil="true"/&gt;
    </pre>
    Ich weiss nicht, was ich falsch mache.
    Ich danke für Ihre Hilfe!

    Hier ist ein Teil des Soapclients:
    <pre>
    SOAPMappingRegistry smr = new SOAPMappingRegistry();
    BeanSerializer beanSer = new BeanSerializer();

    // Mapping der Typen.

    smr.mapTypes(Constants.NS_URI_SOAP_ENC,
    new QName("urn:artikel", "artikel"),
    Artikel.class, beanSer, beanSer);

    // Setup von Call
    Call call = new Call();
    call.setSOAPMappingRegistry(smr);
    call.setTargetObjectURI("urn:AnfrageService");
    call.setMethodName("zeigeAlleArtikel");
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC );


    // call aufrufen.
    Response resp = null;

    try{
    URL url = new URL(RPCROUTER);
    resp = call.invoke(url, "");
    }
    catch (SOAPException e){
    out.println("Caught SOAPException (" +
    e.getFaultCode() + "): " +
    e.getMessage());
    }

    // Antwort überprüfen.
    if (!resp.generatedFault()){ // Keine SOAP-Fehler

    Parameter results = resp.getReturnValue();
    Artikel values = (Artikel)results.getValue();
    if (values != null) // Werte wurden zurückgeliefert
    out.println(values);
    else // Werte wurden nicht geliefert
    out.println("Erfolgreiche Anfrage" +
    ", aber es wurden keine Artikel gefunden");
    }
    else // Es gibt SOAP-Fehler
    {
    Fault fault = resp.getFault();
    out.println("Generierter Fehler: ");
    out.println ("Fehler-Code = " + fault.getFaultCode());
    out.println ("Fehler-Text = " + fault.getFaultString());
    }
    </pre>


    Haman

  • #2
    Es sieht so als schaue kein Mensch in diesem Forum vorbei.
    Warum nur? ;-)

    Hama

    Comment

    Working...
    X