I Use This!
Very Low Activity
Analyzed about 13 hours ago. based on code collected 1 day ago.

Project Summary

jsonrpc4j - JSON-RPC for JavaThis project aims to provide the facility to easily implement JSON-RPC for the java programming language. At the heart of jsonrpc4j is JsonEngine. JsonEngine is used to convert java objects to and from json objects (and other things related to JSON-RPC). JsonEngine is an interface and therefore makes the underlying JSON implementation pluggable. Currently the only implementation available uses Jackson (JacksonJsonEngine).

What's Missing?Here's a list of things that need to be implemented:

GET support as per the spec (currently only POST is supported) Create portable javascript library

MavenThis project is built with Maven. Be sure to check the pom.xml for the dependencies if you're not using maven. If you're already using spring you should have most (if not all) of the dependencies already - outside of maybe the Jackson library. The jsonrpc4j maven repository is located at http://jsonrpc4j.googlecode.com/svn/maven/repo/. Add the following to your pom.xml if you're using maven:

In :

jsonrpc4j maven repository
In :

JSON-RPC specificationThere doesn't seem to be an official source for the JSON-RPC specification. With that said, the guys over at json-rpc google group seem to be fairly active so the specification that they've outlined is what was used.

Spring Frameworkjsonrpc4j provides a RemoteExporter to expose java services as JSON-RPC over HTTP without requiring any additional work on the part of the programmer. The following example explains how to use the JsonServiceExporter within the Spring Framework.

Create your service interface:

package com.mycompany;
public interface UserService {
User createUser(String userName, String firstName, String password);
User createUser(String userName, String password);
User findUserByUserName(String userName);
int getUserCount();
}Implement it:

package com.mycompany;
public class UserServiceImpl
implements UserService {

public User createUser(String userName, String firstName, String password) {
User user = new User();
return user;

public User createUser(String userName, String password) {
return this.createUser(userName, null, password);

public User findUserByUserName(String userName) {
return database.findUserByUserName(userName);

public int getUserCount() {
return database.getUserCount();

}Configure your service in spring as you would any other RemoteExporter:

Your service is now available at the URL /UserService.json. Type conversion of JSON->Java and Java->JSON will happen for you automatically. This service can be accessed by any JSON-RPC capable client, including the JsonProxyFactoryBean provided by this project:

In the case that your JSON-RPC requies named based parameters rather than indexed parameters an annotation can be added to your service interface (this also works on the service implementation for the ServiceExporter):

package com.mycompany;
public interface UserService {
User createUser(@JsonRpcParamName("theUserName") String userName, @JsonRpcParamName("thePassword") String password);


http java javascript json jsonrpc jsonrpc4j remoting rpc spring


MIT License

Commercial Use




Private Use


Hold Liable


Include Copyright

Include License

These details are provided for information only. No information here is legal advice and should not be used as such.

Project Security

Vulnerabilities per Version ( last 10 releases )

There are no reported vulnerabilities

Project Vulnerability Report

Security Confidence Index

Poor security track-record
Favorable security track-record

Vulnerability Exposure Index

Many reported vulnerabilities
Few reported vulnerabilities

Did You Know...

  • ...
    65% of companies leverage OSS to speed application development in 2016
  • ...
    you can subscribe to e-mail newsletters to receive update from the Open Hub blog
  • ...
    there are over 3,000 projects on the Open Hub with security vulnerabilities reported against them
  • ...
    compare projects before you chose one to use
About Project Security


2 Other

30 Day Summary

Apr 18 2024 — May 18 2024

12 Month Summary

May 18 2023 — May 18 2024
  • 15 Commits
    Down -1 (6%) from previous 12 months
  • 3 Contributors
    Down 0 (0%) from previous 12 months