Smart Card Shell

SOAPConnection - Reference Documentation

Class implementing a SOAP Connection object used to call SOAP WebServices

Index of Methods

Constants

Type Name Description
String SOAP11 SOAP 1.1 protocol
String SOAP12 SOAP 1.2 protocol

Constructor

Prototype

SOAPConnection()

Description

Create a SOAPConnection object.

Arguments

Type Name Description
String soapVersion SOAP version, one of SOAPConnection.SOAP11 or SOAP12. Default is SOAP12

Exceptions

Name Value Description
GPError GPError.ARGUMENTS_MISSING Too few arguments in call
GPError GPError.INVALID_ARGUMENTS Too many arguments in call
GPError GPError.INVALID_TYPE Type of argument is invalid for call

Example


var soapConnection = new SOAPConnection(SOAPConnection.SOAP12);

call()

Prototype

XML call(String url, XML soapBodyElement)

XML call(URLConnection urlconnection, XML soapBodyElement)

Description

Create a SOAP message with the given element in the SOAP body.

Submit the message to the service endpoint and receive response.

The service endpoint can be specified either using a string with the URL or by using a preconfigured URLConnection instance. The later is useful, if additional connection parameters like timeouts or TLS keystores need to be specified.

Arguments

Type Name Description
String url The URL of the service endpoint
URLConnection urlconnection The URLConnection object
XML soapMessage The element in the SOAP body

Return

Exceptions

Name Value Description
GPError GPError.ARGUMENTS_MISSING Too few arguments in call
GPError GPError.INVALID_ARGUMENTS Too many arguments in call
GPError GPError.INVALID_TYPE Type of argument is invalid for call

Example


var typ = new Namespace("urn:test/types");

var request = 
			<typ:ConvertRequest xmlns:typ="urn:test/types">
				<id>12</id>
				<input>cid:440510063901</input>
			<!--You may enter ANY elements at this point-->
			</typ:ConvertRequest>


// Using a URL string
var url = "http://localhost:8080/se/soap";

var response = soapConnection.call(url, request);

print(response);

print(response.output);


// Using a URLConnection
var conn = new URLConnection("http://localhost:8080/se/soap");

conn.setConnectTimeout(10000);	// Set timeout to 10 seconds
conn.setReadTimeout(10000);

var response = soapConnection.call(conn, request);

print(response);

print(response.output);


// Using an URLConnection and HTTPs
var conn = new URLConnection("https://localhost:8443/se/soap");

var truststore = new KeyStore("SUN", "jks", "truststore", "openscdp");
var keystore = new KeyStore("SUN", "jks", "clientkeystore", "openscdp");

conn.setTLSKeyStores(truststore, keystore, "openscdp");

var response = soapConnection.call(conn, request);

print(response);

print(response.output);


close()

Prototype

void close()

Description

Close SOAP connection and free used resources.

Return

Exceptions

Name Value Description
GPError GPError.ARGUMENTS_MISSING Too few arguments in call
GPError GPError.INVALID_ARGUMENTS Too many arguments in call
GPError GPError.INVALID_TYPE Type of argument is invalid for call
GPError GPError.DEVICE_ERROR Closing the SOAP connection failed

Example


soapConnection.close();