Xebra XML RPC: Difference between revisions

From EiffelStudio: an EiffelSoftware project
Jump to navigation Jump to search
Sandrod (talk | contribs)
Fabioz (talk | contribs)
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Xebra]]
[[Xebra About|About]] | [[Xebra Installation|Installation]] |  [[Xebra Documentation|Documentation]] |  [[Xebra Tutorial|Tutorials]] | [[Xebra FAQ|Frequently Asked Questions]]
=How it works=
=How it works=


The file ''demo.xrpc'' is translated into ''g_demo_servlet.e''.
The file ''demo.xrpc'' is translated into ''g_demo_servlet.e''.
See [[Xebra Tutorial|tutorials]] for a guide about how to create a xml-rpc servlet.




===demo.xrpc===
===demo.xrpc===
<code>
<xml>
<xeb:xrpc api="MY_XMLRPC" namespace="math">
<xrpc:api namespace="math">
   <xeb:xrpc method="sum" />
  <page:controller class="MY_XMLRPC_API" />
   <xeb:xrpc method="product" />
   <xrpc:method name="sum" />
</xeb:xrpc>
   <xrpc:method name="product" />
</code>
</xrpc:api>
</xml>


===g_demo_servlet.e===
===g_demo_servlet.e===
<code>
<e>
...
class
</code>
G_DEMO_XRPC_SERVLET
 
inherit
XWA_XRPC_SERVLET [MY_XRPC_API]
redefine
namespace
end
 
create
make
 
feature -- Access
 
namespace: IMMUTABLE_STRING_8
-- <Precursor>
once
Result := "math"
end
 
feature {NONE} -- Factory
 
new_method_agents: HASH_TABLE [ROUTINE [ANY, TUPLE], READABLE_STRING_8]
-- <Precursor>
do
create Result.make (2)
Result.put (agent api.sum, "sum")
Result.put (agent api.product, "product")
end
 
end
</e>

Latest revision as of 18:15, 11 July 2009

About | Installation | Documentation | Tutorials | Frequently Asked Questions


How it works

The file demo.xrpc is translated into g_demo_servlet.e.

See tutorials for a guide about how to create a xml-rpc servlet.


demo.xrpc

<xrpc:api namespace="math">
  <page:controller class="MY_XMLRPC_API" />
  <xrpc:method name="sum" />
  <xrpc:method name="product" />
</xrpc:api>

g_demo_servlet.e

class
	G_DEMO_XRPC_SERVLET
 
inherit
	XWA_XRPC_SERVLET [MY_XRPC_API]
		redefine
			namespace
		 end
 
create
	make
 
feature -- Access
 
	namespace: IMMUTABLE_STRING_8
			-- <Precursor>
		once
			Result := "math"
		end
 
feature {NONE} -- Factory
 
	new_method_agents: HASH_TABLE [ROUTINE [ANY, TUPLE], READABLE_STRING_8]
			-- <Precursor>
		do
			create Result.make (2)
			Result.put (agent api.sum, "sum")
			Result.put (agent api.product, "product")
		end
 
end