Announcement

Collapse
No announcement yet.

Problem mit Parameterübergabe an Web Service

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

  • Problem mit Parameterübergabe an Web Service

    Hallo,

    ich habe ein großes Problem mit meinem Java Web Client: ich kann keine Parameter an meinen Java Web Service (Tomcat 6) übergeben.

    Die Kommunikation zwischen Service und Client funktioniert, ebenso der Aufruf der Funktion. Dies habe ich getestet, indem ich einfach in der Funktion des Services eine UnsupportedOperationException werfe, welche mir einen String zurück gibt.

    Mein Ziel ist es in dieser Exception die Übergabeparameter einzubinden. Hier erhalte ich aber nur null für jeden Parameter zurück.

    Code:
    	...
    soapTransport = new SOAPHTTPConnection();
    urn = "http://it-services.de/RiseProxyService";
    		
    //Address of the remote server.
    try {
     url = new URL ("http://hgafo01:8080/riseproxyservice");
    } catch (MalformedURLException e1) {
     // TODO Auto-generated catch block
     e1.printStackTrace();
    }
    		
    // Build the call.
    Call call = new Call ();
    call.setTargetObjectURI (urn); 
    call.setSOAPTransport (soapTransport);
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
    call.setMethodName("getKunData");		
    	
    		
    //Parameter erstellen
    Vector params = new Vector();
    params.addElement(new Parameter("kundenname", String.class, "KundenName", null));
    params.addElement(new Parameter("postleitzahl", String.class, "PLZ", null));
    params.addElement(new Parameter("ort", String.class, "Ort", null));
    params.addElement(new Parameter("strasse", String.class, "Strasse",null));
    call.setParams(params);
    		
    Response resp = null;
    
    try {
     //invoke the service
     resp = call.invoke(url, urn);
    }
    catch (SOAPException e) {
     System.err.println("Caught SOAPException (" + e.getFaultCode () + "): " + e.getMessage ());
     return;
    }
    
    if (resp != null && !resp.generatedFault()) {
     Parameter ret = resp.getReturnValue();
     Objectvalue = ret.getValue();
    
     System.out.println ("Answer--> " + value);
    }
    else {
     System.out.println("resp != null: " + (resp != null));
     System.out.println("resp.generatedFault(): " + (resp.generatedFault()));
     System.out.println("");
            	
     Fault fault = resp.getFault ();
     System.err.println ("Generated fault: ");
     System.out.println (" Fault Code = " + fault.getFaultCode());
     System.out.println (" Fault String = " + fault.getFaultString());            
    }
    Kann es sein das ich irgendetwas vergessen habe??

    Edit:
    Kann es sein das meine Parameter vom falschen Typ sind? Bei Axis wird ja z.B. org.apache.axis.Constants.XSD_STRING angegeben.

    Grüße
    Avallyn
    Zuletzt editiert von Avallyn; 21.10.2010, 17:19. Reason: Ergänzung
Working...
X