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.
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
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()); }
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