Skip to content

andrewmcgivery/angular-soap

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

angular-soap

An Angular port of a JavaScript SOAP Client into a factory that has a similar syntax to $http.

Usage

Before using the factory, you must import the two scripts and its module:

<script src="soapclient.js"></script>
<script src="angular.soap.js"></script>
angular.module('myApp', ['angularSoap']);

Then, wherever you are going to consume it, make a reference to the $soap service for dependency injection:

.factory("testService", ['$soap',function($soap){
//use it here
}])

$soap has one method, post, which accepts the following paramaters:

Parameter Description Example
url The base URL of the service "http://www.cooldomain.com/SoapTest/webservicedemo.asmx"
action The action you want to call "HelloWorld"
params An object of parameters to pass to the service { name: "Andrew" }

Syntax:

$soap.post(url,action,params);

Similar to $http methods, $soap.post returns a promise that you can act upon.

$soap.post(url,action,params).then(function(response){
	//Do Stuff
});

NOTE: Response will be a javascript object containing the response mapped to objects. Do a console.log of response so you can see what you are working with.

Example 1: Hello World

A basic "Hello World" with no parameters.

angular.module('myApp', ['angularSoap'])

.factory("testService", ['$soap',function($soap){
	var base_url = "http://www.cooldomain.com/SoapTest/webservicedemo.asmx";

	return {
		HelloWorld: function(){
			return $soap.post(base_url,"HelloWorld");
		}
	}
}])

.controller('MainCtrl', function($scope, testService) {

  testService.HelloWorld().then(function(response){
	$scope.response = response;
  });
  
})

Example 2: Invoke with Parameters

A basic method call with parameters.

angular.module('myApp', ['angularSoap'])

.factory("testService", ['$soap',function($soap){
	var base_url = "http://www.cooldomain.com/SoapTest/webservicedemo.asmx";

	return {
		CreateUser: function(firstName, lastName){
			return $soap.post(base_url,"CreateUser", {firstName: firstName, lastName: lastName});
		}
	}
}])

.controller('MainCtrl', function($scope, testService) {

  testService.CreateUser($scope.firstName, $scope.lastName).then(function(response){
	$scope.response = response;
  });
  
})

Example 3: Get Single Object

A basic method call to get a single object.

angular.module('myApp', ['angularSoap'])

.factory("testService", ['$soap',function($soap){
	var base_url = "http://www.cooldomain.com/SoapTest/webservicedemo.asmx";

	return {
		GetUser: function(id){
			return $soap.post(base_url,"GetUser", {id: id});
		}
	}
}])

.controller('MainCtrl', function($scope, testService) {

  testService.GetUser($scope.id).then(function(user){
	console.log(user.firstName);
	console.log(user.lastName);
  });
  
})

Example 4: Get Many Objects

A basic method call to get a collection of objects.

angular.module('myApp', ['angularSoap'])

.factory("testService", ['$soap',function($soap){
	var base_url = "http://www.cooldomain.com/SoapTest/webservicedemo.asmx";

	return {
		GetUsers: function(){
			return $soap.post(base_url,"GetUsers");
		}
	}
}])

.controller('MainCtrl', function($scope, testService) {

  testService.GetUsers().then(function(users){
	for(i=0;i<users.length;i++){
		console.log(users[i].firstName);
		console.log(users[i].lastName);
	}
  });
  
})

Example 5: Set Connection Credentials

Set the credentials for the connection before sending any requests.

angular.module('myApp', ['angularSoap'])

.factory("testService", ['$soap',function($soap){
	var base_url = "http://www.cooldomain.com/SoapTest/webservicedemo.asmx";
	
	$soap.setCredentials("username","password");

	return {
		GetUsers: function(){
			return $soap.post(base_url,"GetUsers");
		}
	}
}])

.controller('MainCtrl', function($scope, testService) {

  testService.GetUsers().then(function(users){
	for(i=0;i<users.length;i++){
		console.log(users[i].firstName);
		console.log(users[i].lastName);
	}
  });
  
})

About

An angular port of a Javascript SOAP Client into a factory that has a similar syntax to $http.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •