|
The RPC endpoint plugin modules enable you to publish new SOAP and XML-RPC endpoints within JIRA. These endpoints allow you to expose your own remote web services to the outside world. Here are two example RPC endpoint descriptors: <rpc-soap key="soap" name="System SOAP Services" class="com.atlassian.jira.rpc.soap.JiraSoapServiceImpl"> <description>The standard JIRA SOAP services.</description> <service-path>jiraservice-v1</service-path> <published-interface> com.atlassian.jira.rpc.soap.JiraSoapService </published-interface> </rpc-soap> <rpc-xmlrpc key="xmlrpc" name="System XML-RPC Services" class="com.atlassian.jira.rpc.xmlrpc.JiraXmlRpcService"> <description>The standard JIRA XML-RPC services.</description> <service-path>jira1</service-path> </rpc-xmlrpc> The first defines a SOAP service, the second an XML-RPC service. These objects (class="x") will be published via Glue or Apache XML-RPC respectively. The service-path element defines where in the URL namespace the services will be published. The published-interface element for the SOAP module defines which interface will be published (XML-RPC publishes all methods of the object). Please take note that you also have to create a Component Plugin Module to avoid the client getting NullPointerException, e.g. <component key="component-FoobarSoapService" name="Foobar SOAP Service Component" class="com.atlassian.jira.rpc.FoobarSoapServiceImpl"> <interface>com.atlassian.jira.rpc.FoobarSoapService</interface> </component> <rpc-soap key="soap-foobar" name="Foobar SOAP Service" class="com.atlassian.jira.rpc.FoobarSoapServiceImpl"> <description>Foobar SOAP service.</description> <service-path>foobarservice</service-path> <published-interface>com.atlassian.jira.rpc.FoobarSoapService</published-interface> </rpc-soap> You can learn more about RPC plugins from looking at JIRA's system RPC plugin. The source to this plugin is also freely available, and serves as an excellent learning resource.
|

Comments (1)
Oct 25, 2006
Verhás István says:
The RPC endpoint descriptor above is not enough to make it work. You must includ...The RPC endpoint descriptor above is not enough to make it work. You must include at least one component in the atlassian-plugin.xml as the following:
It seems to be redundant but working. Without the component the axis will return a soapfault with NPE.