Difference between revisions of "Xebra XML RPC"

(g_demo_servlet.e)
Line 17: Line 17:
 
<e>
 
<e>
 
class
 
class
G_DEMO_XMLRPC_SERVLET
+
G_DEMO_XRPC_SERVLET
  
 
inherit
 
inherit
XWA_XMLRPC_SERVLET
+
XWA_XRPC_SERVLET [MY_XRPC_API]
 
redefine
 
redefine
make,
 
 
namespace
 
namespace
 
end
 
end
Line 28: Line 27:
 
create
 
create
 
make
 
make
 
feature-- Access
 
 
api: MY_XMLRPC_API
 
 
feature-- Implementation
 
 
make
 
--<Precursor>
 
do
 
Precursor
 
create api
 
                ensure
 
                        api_attached: api /= Void
 
end
 
  
 
feature -- Access
 
feature -- Access
Line 61: Line 45:
 
Result.put (agent api.sum_x, "sum_x")
 
Result.put (agent api.sum_x, "sum_x")
 
end
 
end
invariant
+
 
        api_attached: api /= Void
+
 
end
 
end
 
</e>
 
</e>

Revision as of 10:58, 1 July 2009

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 class="MY_XMLRPC_API" namespace="math">
  <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.sum_x, "sum_x")
		end
 
end