Erste Schritte: soap client

Status
Nicht offen für weitere Antworten.

fishbone

Mitglied
Hallo !

Schon laenger her seit ich Java angeguckt habe und nun bin ich etwas verwirrt hinsichtlich der zu verwendenden Packages und der Syntax.

Also ich wuerde gern mein Guthaben bei meinem ISP auslesen. Hier findet sich ein Beispiel unter perl, das nah dran ist:
http://www.pbx-network.de/phpBB2/viewtopic.php?t=248&sid=ab7e5d24fabc0af118ede3ead13cd499
Die Beschreibung des/der Service(s) ist hier http://www.pbx-network.de/phpBB2/viewtopic.php?t=255&sid=ab7e5d24fabc0af118ede3ead13cd499

Dachte mir axis mit gcj sollte unter Debian laufen... Jedoch sind die Services beim ISP verstreut, so dass ich nicht denke, dass der Automatismus hier http://wiki.apache.org/ws/FrontPage/Axis/WritingYourClient weiterhilft. Ich denke das Programm ist nicht laenger als 10 Zeilen, aber wo anfangen ...?
 

AlArenal

Top Contributor
Und wir sollen jetzt deine Arbeit machen, oder wie?

Schnapp dir ein Java SOAP-Tutorial und ran an den Speck!
 
G

Guest

Gast
AlArenal hat gesagt.:
Und wir sollen jetzt deine Arbeit machen, oder wie?

Schnapp dir ein Java SOAP-Tutorial und ran an den Speck!

Wenn Du ein gutes weisst, warum postest Du dann nicht den Link ?
 

AlArenal

Top Contributor
"Gut" liegt im Auge des Betrachters. Ich schätze dein Googel ist so gut wie der eines jeden anderen auch.
 

fishbone

Mitglied
... keines der Tutorials kann mir sagen, warum folgender Code nicht funktioniert:

Code:
import org.apache.xmlrpc.client.*;
import java.net.*;

public class pbx {

	
	
	public static void main(String[] args) {
		String urls[] = { "https://secure.pbx-network.de/pbx-server/public/services/LoginService?wsdl",
		"https://secure.pbx-network.de/pbx-server/customer/services/BillingService?wsdl" };
		String username = "myusername";
		String password = "mypassword";

		XmlRpcClientConfigImpl config0 = new XmlRpcClientConfigImpl();
		try {
			config0.setServerURL(new URL(urls[0]));
			XmlRpcClient client0 = new XmlRpcClient();
			client0.setConfig(config0);
			Object[] params0 = new Object[]{ username, password };
			Object ticket = client0.execute("login", params0);
			System.out.println(ticket);
			XmlRpcClientConfigImpl config1 = new XmlRpcClientConfigImpl();
			try {
				config1.setServerURL(new URL(urls[1]));
				XmlRpcClient client1 = new XmlRpcClient();
				client1.setConfig(config1);
				Object[] params1 = new Object[]{ ticket };
				Object result  = client1.execute("getCredit", params1);
				System.out.println(result);
				
			} catch ( Exception e ) {
				e.printStackTrace();
			}		
		} catch ( Exception e ) {
			e.printStackTrace();
		}
	}

}

denn es gibt:

Code:
org.apache.xmlrpc.XmlRpcException: Failed to create input stream: Server returned HTTP response code: 500 for URL: [url]https://secure.pbx-network.de/pbx-server/public/services/LoginService?wsdl[/url]
	at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.getInputStream(XmlRpcSunHttpTransport.java:60)
	at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:141)
	at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94)
	at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:39)
	at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
	at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
	at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
	at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
	at pbx.main(pbx.java:21)
Caused by:
java.io.IOException: Server returned HTTP response code: 500 for URL: [url]https://secure.pbx-network.de/pbx-server/public/services/LoginService?wsdl[/url]
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
	at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.getInputStream(XmlRpcSunHttpTransport.java:58)
	at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:141)
	at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94)
	at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:39)
	at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
	at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
	at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
	at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
	at pbx.main(pbx.java:21)

das Zeugs gibt's hier: http://www.apache.org/dyn/closer.cgi/ws/xmlrpc/
und die Anleitung ist hier: http://ws.apache.org/xmlrpc/client.html
 

fishbone

Mitglied
Naja, das mit xml-rpc kam als Hinweis vom Support...

leider haenge ich jetzt bei der Parameteruebergabe fest - wie uebergebe ich username und password ...?

Code:
import org.apache.axis.client.*;
import javax.xml.namespace.QName;
import java.net.*;

public class pbx {
	
	public static void main(String[] args) {
		String urls[] = { "https://secure.pbx-network.de/pbx-server/public/services/LoginService?wsdl",
		"https://secure.pbx-network.de/pbx-server/customer/services/BillingService?wsdl" };
		String username = "myusername";
		String password = "mypassword";

        try {
        	Service  service = new Service();
        	Call     call    = (Call) service.createCall();
        	
        	call.setTargetEndpointAddress( new URL(urls[0]) );
        	call.setOperationName( "login" );
            call.addParameter( "op1", XMLType.XSD_INT, ParameterMode.IN );
            call.addParameter( "op2", XMLType.XSD_INT, ParameterMode.IN );
  
        	System.out.println("Sent");
        } catch (Exception e) {
        	System.err.println(e.toString());
        }

	}

}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben