SOAP Overview
Accessible resources in Gotransverse are called Entities. Requests in SOAP rely heavily on the type of entity. For example, an instance of a billing account has a type of BillingAccount.
Types are always capitalized in camel case (BillingAccount), while entity names are traditional camel case (billingAccount).
Refer to the following topics for more information about SOAP:
-
Sample SOAP calls — SOAP Snippets
-
Java code illustrating some SOAP queries and commands — Sample Java applications (SOAP).
-
Help with specific entities — Locate the entity you need to interact in Gotransverse API 1.33 Reference Overview to see parameters for the entity and example calls. An example:
SOAP Example
Making Calls
All SOAP calls are made against the WSDL for your API version.
WSDL for SOAP requests (1.28) — https://my.tractbilling.com/t/s/billing/1.28?wsdl
Example Session Setup (Java)
Set up the WSDL URL, defaulting to Tract production site:
URL wsdlURL = new URL(wsdl);
Create the service:
Name serviceName = new QName("http://www.tractbilling.com/billing/1.28/service", "TractService"); TractService svc = new TractService("https://my.tractbilling.com/t/s/billing/1.28?wsdl", serviceName); Tract port = svc.getTractPort();
Specify the username/password per basic authentication specification:
BindingProvider bp = (BindingProvider)port; Map<String,Object> map = bp.getRequestContext(); map.put(BindingProvider.USERNAME_PROPERTY, username); map.put(BindingProvider.PASSWORD_PROPERTY, password); return port;
Use the port variable to create the web service request.
Methods
All queries, updates, and additions in SOAP use the POST method.
Header
You don't pass any information on your tenant in the call or the header. Gotransverse routes your call to the appropriate tenant based on your Gotransverse credentials. This means the basic header contains only your authorization credentials.
Body
There is no content type included in SOAP calls, but all request bodies must be valid XML.
Example Call (HTTP):
This is a query for billing accounts. Note the POST method, the authorization, and the use of the BillingAccount type.
POST /t/s/billing/1.28?wsdl HTTP/1.1 Host: my.tractbilling.com Authorization: Basic aWFsZXhhbmRlci1RQTpmdWs4MzgzODMh <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:query xmlns="http://www.tractbilling.com/billing/1_28/domain" xmlns:ns2="http://www.tractbilling.com/billing/1_28/service"> <ns2:queryRequest> <simpleDataQuery> <type>BillingAccount</type> </simpleDataQuery> </ns2:queryRequest> </ns2:query> </soap:Body> </soap:Envelope>
Refer to the following topic for more information: