Setting up JBilling’s soap interface is not that easy and the documentation is not that completer.
Jbilling’s WSDL is located at:
http://localhost:8080/jboss-net/services/billing?wsdl
Note: jbilling’s default port is 80 but i have changed it to 8080. If you are using the default installation, change port to 80.
When you request this URL, jbilling will ask for username and password.
To our surprise even the main account that you created during the installation does not have SOAP access and the permission system is not through the GUI.
Well JBilling is not known for its ease of use and intuitive GUI.
We are going to create a new user with soap access rights from scratch.
Step 1: create a user:
Open JBilling user interface, from the top menu select “Users”, Second menu select “Staff” and from the left menu select “Create New User”.
Login Name: soap
Password: soap1234
Repeat Password: soap1234
Email: soap@osintegra.com
Type: Clerk
Currency: United States Dollars
2. Set Permissions:
Login to your MySQL Server.
parham@exotix:~$ mysql -ujbilling -pjbilling jbilling
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 257
Server version: 5.0.67-0ubuntu6 (Ubuntu)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
Look up your soap user in the database.
mysql> select * from base_user where user_name=’soap’\G;
*************************** 1. row ***************************
id: 20
entity_id: 1
password: 6320ea64269dc4d57ef0c1a1f59b394f
deleted: 0
language_id: 1
status_id: 1
subscriber_status: 6
currency_id: 1
create_datetime: 2009-03-14 12:07:18
last_status_change: 2009-03-14 12:07:18
last_login: 2009-03-14 12:07:18
user_name: soap
failed_attempts: 0
OPTLOCK: 1
1 row in set (0.00 sec)
ERROR:
No query specified
as you see soap user’s id is 20
Now check soap user’s role:
mysql> select * from user_role_map where user_id=20;
+———+———+
| user_id | role_id |
+———+———+
| 20 | 3 |
+———+———+
1 row in set (0.00 sec)
mysql>
if soap has any other role other then 2, change it to 2.
mysql> update user_role_map set role_id=2 where user_id=20;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>
Add user permission to SOAP user. Soap permission_id is 120.
since my permission_user table was empty, i just inserted with id=1.
mysql> insert into permission_user(permission_id,user_id,is_grant,id) values(120,20,1,1);
Query OK, 1 row affected (0.00 sec)
mysql>
Now go back to jbilling wsdl page:
http://localhost:8080/jboss-net/services/billing?wsdl
You should be able to see the wsdl file now.
Tags: guide, JBilling, MySQL, soap, web service

Great work there man
I really liked this post. Can I copy it to my site? Thank you in advance.
I really like your post. Does it copyright protected?
Hi, very nice post. I have been wonder’n bout this issue,so thanks for posting
I have been looking looking around for this kind of information. Will you post some more in future? I’ll be grateful if you will.
sure, no problem … just link back to it please
just link back to the page :)
Pretty cool post. I just came by your site and wanted to say
that I have really enjoyed browsing your posts. Anyway
I’ll be subscribing to your feed and I hope you write again soon!