From teybjefeifr@weather.com Sun Nov 02 03:53:25 2008 Return-path: Envelope-to: apache@lists.xensource.com Delivery-date: Sun, 02 Nov 2008 03:53:25 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1KwbWG-00020g-KS for apache@lists.xensource.com; Sun, 02 Nov 2008 03:53:24 -0800 X-ASG-Debug-ID: 1225626786-708a00030000-RounwS X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from weather.com (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with SMTP id 5F916D9872; Sun, 2 Nov 2008 03:53:07 -0800 (PST) Received: from weather.com ([85.175.19.74]) by spam.xensource.com with SMTP id Zdo7XzIKzx3xGEHy; Sun, 02 Nov 2008 03:53:07 -0800 (PST) Message-ID: <3E563DF6.AEFB48A3@weather.com> Date: Sun, 02 Nov 2008 18:32:29 +0600 From: "EuroPrimeCasino" To: , , , , , , , , , , , , , , , , , , , X-ASG-Orig-Subj: Euro Prime Casino - Read what our players say... Subject: [SPAM] Euro Prime Casino - Read what our players say... MIME-Version: 1.0 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: UNKNOWN[85.175.19.74] X-Barracuda-Start-Time: 1225626800 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 4.40 X-Barracuda-Spam-Status: Yes, SCORE=4.40 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests=BSF_SC0_SA182e, HTML_MESSAGE, MIME_HTML_ONLY, RCVD_IN_PBL, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.9291 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.80 RCVD_IN_PBL RBL: Received via a relay in Spamhaus PBL [85.175.19.74 listed in zen.spamhaus.org] 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 3.50 BSF_SC0_SA182e Custom Rule SA182e X-Priority: 5 (Lowest) X-MSMail-Priority: Low Importance: Low X-Barracuda-Spam-Flag: YES Why playing at Euro Prime Casino

Why playing at Euro Prime Casino? Here are our players' testimonials:

 

"I recommend playing at Euro Prime Casino, out of the numerous games out there, it's the only one that let me play with comfort and security. Support if 100% available!"   (Albert V., France)

 

"I'm playing slots every now and then but never imagined I would make so much money out of it in Euro Prime Casino, after placing a 2 Euros bet, I made 13,445 Euros back.  I couldn't believe to what I saw."   (Michael F., Germany )

 

http://www.europrimeslots.net

 

Play and claim your 300 Euros now!

 

From xen-api-bounces@lists.xensource.com Mon Nov 10 15:28:09 2008 Return-path: Envelope-to: www-data@lists.xensource.com Delivery-date: Mon, 10 Nov 2008 15:28:09 -0800 Received: from localhost ([127.0.0.1] helo=lists.colo.xensource.com) by lists.xensource.com with esmtp (Exim 4.43) id 1KzgAy-00079N-Nc; Mon, 10 Nov 2008 15:28:08 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1KzgAw-00078Y-C4 for xen-api@lists.xensource.com; Mon, 10 Nov 2008 15:28:06 -0800 X-ASG-Debug-ID: 1226359683-686f00000000-trChs3 X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from smtp1.toolwire.com (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with ESMTP id 5CC1BE1343 for ; Mon, 10 Nov 2008 15:28:03 -0800 (PST) Received: from smtp1.toolwire.com (smtp1.toolwire.com [206.132.208.6]) by spam.xensource.com with ESMTP id vJsfOfLdPzkW0ny5 for ; Mon, 10 Nov 2008 15:28:03 -0800 (PST) Received: from ginger.toolwire.com (unknown [10.2.0.40]) by smtp1.toolwire.com (Postfix) with ESMTP id 27C034800F for ; Mon, 10 Nov 2008 15:28:03 -0800 (PST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 X-ASG-Orig-Subj: Xen API - Java RPC Binding Date: Mon, 10 Nov 2008 15:26:56 -0800 Message-ID: <133A1C67A2D4284A91A113F4D951E8DAA87C9F@ginger.toolwire.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Xen API - Java RPC Binding thread-index: AclDi9KZ0iFQVpLmSFCaZpJkyZjyYw== From: "hlebegue" To: X-Barracuda-Connect: smtp1.toolwire.com[206.132.208.6] X-Barracuda-Start-Time: 1226359683 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.9951 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message Subject: [Xen-API] Xen API - Java RPC Binding X-BeenThere: xen-api@lists.xensource.com X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of API issues surrounding Xen List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0389600683==" Sender: xen-api-bounces@lists.xensource.com Errors-To: xen-api-bounces@lists.xensource.com This is a multi-part message in MIME format. --===============0389600683== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C9438B.C8448C30" This is a multi-part message in MIME format. ------_=_NextPart_001_01C9438B.C8448C30 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I found some old references to a library developed in Cambridge UK for which the link is no longer active =20 http://www.cl.cam.ac.uk/~tw275/java-binding-source.tar.gz=20 http://www.cl.cam.ac.uk/%7Etw275/java-binding-source.tar.gz =20 I also found a sample using the Apache JavaRpc client on the slides on the Wiki =20 Has anyone developed a Java library that wraps around the Rpc bindings to expose the XenAPI ? =20 Thanks in advance Hugo Lebegue =20 CONFIDENTIALITY NOTICE: This communication with its contents may contain confidential and/or legally privileged information. It is solely for the use of the intended recipient(s). Unauthorized interception, review, use or disclosure is prohibited and may violate applicable laws including the Electronic Communications Privacy Act. If you are not the intended recipient, please contact the sender and destroy all copies of the communication. More information at http://www.toolwire.com =20 ------_=_NextPart_001_01C9438B.C8448C30 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

I found some old references to a library developed in = Cambridge UK for which the link is no longer active  

http:/= /www.cl.cam.ac.uk/~tw275/java-binding-source.tar.gz

http= ://www.cl.cam.ac.uk/%7Etw275/java-binding-source.tar.gz

 

I also found a sample using the Apache JavaRpc client on = the slides on the Wiki

 

Has anyone developed a Java library that wraps around the = Rpc bindings to expose the XenAPI ?

 

Thanks in advance

Hugo Lebegue

 

CO= NFIDENTIALITY NOTICE: This communication with its contents may contain confidential = and/or legally privileged information. It is solely for the use of the intended recipient(s). Unauthorized interception, review, use or disclosure is prohibited and may violate applicable laws including the Electronic = Communications Privacy Act. If you are not the intended recipient, please contact the = sender and destroy all copies of the communication. More information at http://www.toolwire.com

 

------_=_NextPart_001_01C9438B.C8448C30-- --===============0389600683== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api --===============0389600683==-- From dosypocyaodia@wildmail.com Wed Nov 12 04:15:23 2008 Return-path: Envelope-to: apache@lists.xensource.com Delivery-date: Wed, 12 Nov 2008 04:15:23 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1L0Ed1-0002gh-RW for apache@lists.xensource.com; Wed, 12 Nov 2008 04:15:23 -0800 X-ASG-Debug-ID: 1226492106-176100020000-RounwS X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from wildmail.com (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with SMTP id 5C105E22EA; Wed, 12 Nov 2008 04:15:07 -0800 (PST) Received: from wildmail.com (189107029062.user.veloxzone.com.br [189.107.29.62]) by spam.xensource.com with SMTP id v8ejEXpjweKio8E1; Wed, 12 Nov 2008 04:15:07 -0800 (PST) Message-ID: <40E3CD2F.3E2D6D4A@wildmail.com> Date: Wed, 12 Nov 2008 13:51:45 +0100 From: "The First Gaming" To: , , , , , , , , , , , , , , , , , , X-ASG-Orig-Subj: Congratulations! You w@n 300 Euro casi no chips. Ajyfux Subject: Congratulations! You w@n 300 Euro casi no chips. Ajyfux MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=iso-8859-1; reply-type=original Content-Transfer-Encoding: 7bit X-Barracuda-Connect: 189107029062.user.veloxzone.com.br[189.107.29.62] X-Barracuda-Start-Time: 1226492122 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 1.00 X-Barracuda-Spam-Status: No, SCORE=1.00 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests=PR0N_SUBJECT, RCVD_IN_PBL, STOX_REPLY_TYPE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.10082 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.80 RCVD_IN_PBL RBL: Received via a relay in Spamhaus PBL [189.107.29.62 listed in zen.spamhaus.org] 0.00 STOX_REPLY_TYPE STOX_REPLY_TYPE 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) Get ready to play and claim your 300 Euros immediately! http://u.teamlifeplaying.net/?xt=6476061 zu ti Cyxiiihae wy urlbaudzj gaipsahet jisuyitp zyuvix. Dywaunmmun p xoro. From xen-api-bounces@lists.xensource.com Fri Nov 14 02:00:30 2008 Return-path: Envelope-to: www-data@lists.xensource.com Delivery-date: Fri, 14 Nov 2008 02:00:30 -0800 Received: from localhost ([127.0.0.1] helo=lists.colo.xensource.com) by lists.xensource.com with esmtp (Exim 4.43) id 1L0vTZ-0007X1-Kt; Fri, 14 Nov 2008 02:00:29 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1L0pBH-0002KQ-Qj for xen-api@lists.xensource.com; Thu, 13 Nov 2008 19:17:11 -0800 X-ASG-Debug-ID: 1226632630-013600010000-trChs3 X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from cpmx.mail.saic.com (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with ESMTP id 13AABE3312 for ; Thu, 13 Nov 2008 19:17:10 -0800 (PST) Received: from cpmx.mail.saic.com (cpmx.mail.saic.com [139.121.17.160]) by spam.xensource.com with ESMTP id CkgtQxKIbpTAT0iN for ; Thu, 13 Nov 2008 19:17:10 -0800 (PST) Received: from 0599-ITS-SMS01 ([139.121.20.253] [139.121.20.253]) by cpmx.mail.saic.com with ESMTP id BT-MMP-2560329 for xen-api@lists.xensource.com; Thu, 13 Nov 2008 19:17:02 -0800 X-AuditID: 8b79118b-a63c5ba000001cae-7c-491cedae6062 Received: from 0461-its-exbh01.us.saic.com (unknown [139.121.20.253]) by 0599-ITS-SMS01 (Symantec Mail Security) with ESMTP id 7C9E120130 for ; Thu, 13 Nov 2008 19:17:02 -0800 (PST) Received: from 0461-its-exmb01.us.saic.com ([10.8.67.21]) by 0461-its-exbh01.us.saic.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 13 Nov 2008 19:17:02 -0800 x-mimeole: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-ASG-Orig-Subj: RE: Xen API - Java RPC Binding (hlebegue) Date: Thu, 13 Nov 2008 19:17:01 -0800 Message-Id: <53C979FEC5BAF24BA10B4626F179F80402E257F2@0461-its-exmb01.us.saic.com> In-Reply-To: <20081111200016.06827308128@0461-ITS-SMS01> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Xen API - Java RPC Binding (hlebegue) Thread-Index: AclEOCxWn1hR9N9uRUC+ORvLi10LkwBzUoHw References: <20081111200016.06827308128@0461-ITS-SMS01> From: "Dealy, Brian" To: X-OriginalArrivalTime: 14 Nov 2008 03:17:02.0613 (UTC) FILETIME=[76A6D450:01C94607] X-Brightmail-Tracker: AAAAAA== X-Barracuda-Connect: cpmx.mail.saic.com[139.121.17.160] X-Barracuda-Start-Time: 1226632631 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.10200 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Mailman-Approved-At: Fri, 14 Nov 2008 02:00:21 -0800 Subject: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) X-BeenThere: xen-api@lists.xensource.com X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of API issues surrounding Xen List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-api-bounces@lists.xensource.com Errors-To: xen-api-bounces@lists.xensource.com Hi, The way I understand the current situation there is an API to XMLRPC that is part of the xenServer product line. This java api is not actually 100% compatible with the api (and the xend code ) from xen.org . (I have verified this)=20 I have an interest in having a java API which would be available for the open source version (not tied to XenServer) and was thinking that if no one was working this, I might be interested in contributing some time towards it. I have some ideas about how this might be done, but not having been a part of a community development project, I am not sure about how the process flows. =20 I have taken the XenServer java api and done some mods based on the python source and the API spec, Xen Management API dated 24, july 2008 (Stable release) and have been having some success using it to manipulate and retrieve values via xmlrpc. I am assuming that this is ok for my early testing, but would like to share with the community if possible. I have had to change some of the method signatures, of course since they are different. I haven't kept a list of diffs, etc. and the code is not a 100% tested, validated to be faithful to the spec above. but=20 I would be willing to make it available. ( I might need to spend an hour or so refactoring the package names) But I would like to know if there is anyone working on the open source xen java bindings and if not, whether there would be interest in having them become a separate project under xen.org. I am not sure what the process=20 is for contributing to the xen community as a developer so any insights there would be useful also. I would be willing to take the lead on getting started if no one else is working this. things that might make sense to talk about are: =20 Should the API be tied to the api for XenSource.com's open source sdk java bindings? if so, what is the mechanism that would be needed to maintain separate trees because of the different feature sets they currently support? =20 Does anyone know if the current xen-api and Specification are auto generated to any degree? they definitely seem like a candidate for code generation from a common spec of some sort. (could be useful for other bindings as well) Any discussion is appreciated. regards, Brian Dealy dealyb@saic.com Date: Mon, 10 Nov 2008 15:26:56 -0800 From: "hlebegue" Subject: [Xen-API] Xen API - Java RPC Binding To: Message-ID: <133A1C67A2D4284A91A113F4D951E8DAA87C9F@ginger.toolwire.com> Content-Type: text/plain; charset=3D"us-ascii" I found some old references to a library developed in Cambridge UK for which the link is no longer active =20 http://www.cl.cam.ac.uk/~tw275/java-binding-source.tar.gz=20 http://www.cl.cam.ac.uk/%7Etw275/java-binding-source.tar.gz =20 I also found a sample using the Apache JavaRpc client on the slides on the Wiki =20 Has anyone developed a Java library that wraps around the Rpc bindings to expose the XenAPI ? =20 Thanks in advance Hugo Lebegue =20 CONFIDENTIALITY NOTICE: This communication with its contents may contain confidential and/or legally privileged information. It is solely for the use of the intended recipient(s). Unauthorized interception, review, use or disclosure is prohibited and may violate applicable laws including the Electronic Communications Privacy Act. If you are not the intended recipient, please contact the sender and destroy all copies of the communication. More information at http://www.toolwire.com =20 _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api From xen-api-bounces@lists.xensource.com Fri Nov 14 02:16:13 2008 Return-path: Envelope-to: www-data@lists.xensource.com Delivery-date: Fri, 14 Nov 2008 02:16:13 -0800 Received: from localhost ([127.0.0.1] helo=lists.colo.xensource.com) by lists.xensource.com with esmtp (Exim 4.43) id 1L0vim-0000Af-Sh; Fri, 14 Nov 2008 02:16:12 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1L0vij-00009a-IC for xen-api@lists.xensource.com; Fri, 14 Nov 2008 02:16:09 -0800 X-ASG-Debug-ID: 1226657767-7a0500020000-trChs3 X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from IMPaqm2.telefonica.net (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with ESMTP id E4051E3615 for ; Fri, 14 Nov 2008 02:16:08 -0800 (PST) Received: from IMPaqm2.telefonica.net (impaqm2.telefonica.net [213.4.149.62]) by spam.xensource.com with ESMTP id Hy6sNzn3HDYWSNNY for ; Fri, 14 Nov 2008 02:16:08 -0800 (PST) Received: from IMPmailhost3.adm.correo ([10.20.102.124]) by IMPaqm2.telefonica.net with bizsmtp id ex7Y1a00S2h2L9m01yG6lQ; Fri, 14 Nov 2008 11:16:06 +0100 Received: from cps3 ([10.20.100.3]) by IMPmailhost3.adm.correo with BIZ IMP id eyG61a00904PNsy1jyG6TL; Fri, 14 Nov 2008 11:16:06 +0100 X-TE-authinfo: authemail="??" |auth_email="??" X-TE-AcuTerraCos: auth_cuTerraCos="??" Received: from [84.88.50.44] by correo6.terra.es with HTTP (authenticated as inigoiri@terra.es); Fri, 14 Nov 2008 11:16:07 +0100 Message-ID: <20006873.1226657767181.JavaMail.root@cps3> Date: Fri, 14 Nov 2008 11:16:07 +0100 (MET) From: "INIGOIRI@terra.es" To: , X-ASG-Orig-Subj: Re: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Subject: Re: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) MIME-Version: 1.0 Content-Type: text/plain;charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: impaqm2.telefonica.net[213.4.149.62] X-Barracuda-Start-Time: 1226657768 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.10224 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Cc: X-BeenThere: xen-api@lists.xensource.com X-Mailman-Version: 2.1.5 Precedence: list Reply-To: inigoiri@telefonica.net List-Id: Discussion of API issues surrounding Xen List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-api-bounces@lists.xensource.com Errors-To: xen-api-bounces@lists.xensource.com Hi Brian, One year ago, I was on you situation and then it existed a Java bindings bu= t they seemed to be discontinued and these are not in the=20 XenAPI web anymore. I had to do some minor fixes in order to make it run and I moved them to a = previous version of XML-RPC (I preferred the last way to use=20 the clients). I attach you this code (they original code is from Tom Wilkie= but it seems he has discontinued this bindings). I don't know=20 if it would helpful to you, but if you plan to take this bindings again I w= ould participate on it. BR =C3=8D=C3=B1igo Goiri ----Mensaje original---- De: BRIAN.DEALY@saic.com Recibido: 14/11/2008 4:17 Para: Asunto: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Hi, The way I understand the current situation there is an API to XMLRPC that is part of the xenServer product line. This java api is not actually 100% compatible with the api (and the xend code ) from xen.org . (I have verified this)=20 I have an interest in having a java API which would be available for the open source version (not tied to XenServer) and was thinking that if no one was working this, I might be interested in contributing some time towards it. I have some ideas about how this might be done, but not having been a part of a community development project, I am not sure about how the process flows. =20 I have taken the XenServer java api and done some mods based on the python source and the API spec, Xen Management API dated 24, july 2008 (Stable release) and have been having some success using it to manipulate and retrieve values via xmlrpc. I am assuming that this is ok for my early testing, but would like to share with the community if possible. I have had to change some of the method signatures, of course since they are different. I haven't kept a list of diffs, etc. and the code is not a 100% tested, validated to be faithful to the spec above. but=20 I would be willing to make it available. ( I might need to spend an hour or so refactoring the package names) But I would like to know if there is anyone working on the open source xen java bindings and if not, whether there would be interest in having them become a separate project under xen.org. I am not sure what the process=20 is for contributing to the xen community as a developer so any insights there would be useful also. I would be willing to take the lead on getting started if no one else is working this. things that might make sense to talk about are: =20 Should the API be tied to the api for XenSource.com's open source sdk java bindings? if so, what is the mechanism that would be needed to maintain separate trees because of the different feature sets they currently support? =20 Does anyone know if the current xen-api and Specification are auto generated to any degree? they definitely seem like a candidate for code generation from a common spec of some sort. (could be useful for other bindings as well) Any discussion is appreciated. regards, Brian Dealy dealyb@saic.com Date: Mon, 10 Nov 2008 15:26:56 -0800 From: "hlebegue" Subject: [Xen-API] Xen API - Java RPC Binding To: Message-ID: =09<133A1C67A2D4284A91A113F4D951E8DAA87C9F@ginger.toolwire.com> Content-Type: text/plain; charset=3D"us-ascii" I found some old references to a library developed in Cambridge UK for which the link is no longer active =20 http://www.cl.cam.ac.uk/~tw275/java-binding-source.tar.gz=20 http://www.cl.cam.ac.uk/%7Etw275/java-binding-source.tar.gz =20 I also found a sample using the Apache JavaRpc client on the slides on the Wiki =20 Has anyone developed a Java library that wraps around the Rpc bindings to expose the XenAPI ? =20 Thanks in advance Hugo Lebegue =20 CONFIDENTIALITY NOTICE: This communication with its contents may contain confidential and/or legally privileged information. It is solely for the use of the intended recipient(s). Unauthorized interception, review, use or disclosure is prohibited and may violate applicable laws including the Electronic Communications Privacy Act. If you are not the intended recipient, please contact the sender and destroy all copies of the communication. More information at http://www.toolwire.com =20 _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api Ahora tambi=C3=A9n puedes acceder a tu correo Terra desde el m=C3=B3vil. Inf=C3=B3rmate pinchando aqu=C3=AD. _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api From xen-api-bounces@lists.xensource.com Fri Nov 14 02:17:13 2008 Return-path: Envelope-to: www-data@lists.xensource.com Delivery-date: Fri, 14 Nov 2008 02:17:13 -0800 Received: from localhost ([127.0.0.1] helo=lists.colo.xensource.com) by lists.xensource.com with esmtp (Exim 4.43) id 1L0vjl-0000HM-6b; Fri, 14 Nov 2008 02:17:13 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1L0vjV-0000F9-It for xen-api@lists.xensource.com; Fri, 14 Nov 2008 02:16:58 -0800 X-ASG-Debug-ID: 1226657811-7a0500030000-trChs3 X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from IMPaqm1.telefonica.net (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with ESMTP id CF08BE36B7 for ; Fri, 14 Nov 2008 02:16:52 -0800 (PST) Received: from IMPaqm1.telefonica.net (impaqm1.telefonica.net [213.4.149.61]) by spam.xensource.com with ESMTP id g9MtJ9o99afjVQkh for ; Fri, 14 Nov 2008 02:16:52 -0800 (PST) Received: from IMPmailhost6.adm.correo ([10.20.102.127]) by IMPaqm1.telefonica.net with bizsmtp id ewrh1a00B2kvMAa01yGrQQ; Fri, 14 Nov 2008 11:16:51 +0100 Received: from cps3 ([10.20.100.3]) by IMPmailhost6.adm.correo with BIZ IMP id eyGq1a00D04PNsy1myGq55; Fri, 14 Nov 2008 11:16:51 +0100 X-TE-authinfo: authemail="??" |auth_email="??" X-TE-AcuTerraCos: auth_cuTerraCos="??" Received: from [84.88.50.44] by correo6.terra.es with HTTP (authenticated as inigoiri@terra.es); Fri, 14 Nov 2008 11:16:51 +0100 Message-ID: <30437717.1226657811505.JavaMail.root@cps3> Date: Fri, 14 Nov 2008 11:16:51 +0100 (MET) From: "INIGOIRI@terra.es" To: , X-ASG-Orig-Subj: Re: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Subject: Re: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1480_21276043.1226657811498" X-Barracuda-Connect: impaqm1.telefonica.net[213.4.149.61] X-Barracuda-Start-Time: 1226657813 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.10224 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Cc: X-BeenThere: xen-api@lists.xensource.com X-Mailman-Version: 2.1.5 Precedence: list Reply-To: inigoiri@telefonica.net List-Id: Discussion of API issues surrounding Xen List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-api-bounces@lists.xensource.com Errors-To: xen-api-bounces@lists.xensource.com ------=_Part_1480_21276043.1226657811498 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable And now with the attached files.... I forgot them... ----Mensaje original---- De: BRIAN.DEALY@saic.com Recibido: 14/11/2008 4:17 Para: Asunto: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Hi, The way I understand the current situation there is an API to XMLRPC that is part of the xenServer product line. This java api is not actually 100% compatible with the api (and the xend code ) from xen.org . (I have verified this)=20 I have an interest in having a java API which would be available for the open source version (not tied to XenServer) and was thinking that if no one was working this, I might be interested in contributing some time towards it. I have some ideas about how this might be done, but not having been a part of a community development project, I am not sure about how the process flows. =20 I have taken the XenServer java api and done some mods based on the python source and the API spec, Xen Management API dated 24, july 2008 (Stable release) and have been having some success using it to manipulate and retrieve values via xmlrpc. I am assuming that this is ok for my early testing, but would like to share with the community if possible. I have had to change some of the method signatures, of course since they are different. I haven't kept a list of diffs, etc. and the code is not a 100% tested, validated to be faithful to the spec above. but=20 I would be willing to make it available. ( I might need to spend an hour or so refactoring the package names) But I would like to know if there is anyone working on the open source xen java bindings and if not, whether there would be interest in having them become a separate project under xen.org. I am not sure what the process=20 is for contributing to the xen community as a developer so any insights there would be useful also. I would be willing to take the lead on getting started if no one else is working this. things that might make sense to talk about are: =20 Should the API be tied to the api for XenSource.com's open source sdk java bindings? if so, what is the mechanism that would be needed to maintain separate trees because of the different feature sets they currently support? =20 Does anyone know if the current xen-api and Specification are auto generated to any degree? they definitely seem like a candidate for code generation from a common spec of some sort. (could be useful for other bindings as well) Any discussion is appreciated. regards, Brian Dealy dealyb@saic.com Date: Mon, 10 Nov 2008 15:26:56 -0800 From: "hlebegue" Subject: [Xen-API] Xen API - Java RPC Binding To: Message-ID: =09<133A1C67A2D4284A91A113F4D951E8DAA87C9F@ginger.toolwire.com> Content-Type: text/plain; charset=3D"us-ascii" I found some old references to a library developed in Cambridge UK for which the link is no longer active =20 http://www.cl.cam.ac.uk/~tw275/java-binding-source.tar.gz=20 http://www.cl.cam.ac.uk/%7Etw275/java-binding-source.tar.gz =20 I also found a sample using the Apache JavaRpc client on the slides on the Wiki =20 Has anyone developed a Java library that wraps around the Rpc bindings to expose the XenAPI ? =20 Thanks in advance Hugo Lebegue =20 CONFIDENTIALITY NOTICE: This communication with its contents may contain confidential and/or legally privileged information. It is solely for the use of the intended recipient(s). Unauthorized interception, review, use or disclosure is prohibited and may violate applicable laws including the Electronic Communications Privacy Act. If you are not the intended recipient, please contact the sender and destroy all copies of the communication. More information at http://www.toolwire.com =20 _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api Ahora tambi=C3=A9n puedes acceder a tu correo Terra desde el m=C3=B3vil. Inf=C3=B3rmate pinchando aqu=C3=AD. ------=_Part_1480_21276043.1226657811498 Content-Type: APPLICATION/X-GTAR; name=xenapi.tgz Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=xenapi.tgz; size=46992 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 zMd8zMd8zMd8zMd8os//D/Fp6i4AKAoA ------=_Part_1480_21276043.1226657811498 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api ------=_Part_1480_21276043.1226657811498-- From xen-api-bounces@lists.xensource.com Fri Nov 14 05:12:54 2008 Return-path: Envelope-to: www-data@lists.xensource.com Delivery-date: Fri, 14 Nov 2008 05:12:54 -0800 Received: from localhost ([127.0.0.1] helo=lists.colo.xensource.com) by lists.xensource.com with esmtp (Exim 4.43) id 1L0yTl-0000Lu-Tl; Fri, 14 Nov 2008 05:12:53 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1L0yTi-0000Kl-QT for xen-api@lists.xensource.com; Fri, 14 Nov 2008 05:12:50 -0800 X-ASG-Debug-ID: 1226668369-6cd400000000-trChs3 X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from acsinet12.oracle.com (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with ESMTP id 0F493E38D7 for ; Fri, 14 Nov 2008 05:12:49 -0800 (PST) Received: from acsinet12.oracle.com (acsinet12.oracle.com [141.146.126.234]) by spam.xensource.com with ESMTP id DHQBxPJcNFZJvxiC (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 14 Nov 2008 05:12:49 -0800 (PST) Received: from rgminet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by acsinet12.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id mAEDCbIS023012 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 14 Nov 2008 13:12:39 GMT Received: from acsmt704.oracle.com (acsmt704.oracle.com [141.146.40.82]) by rgminet15.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id mAEDCnWO014673; Fri, 14 Nov 2008 13:12:50 GMT Received: from [172.23.80.226] (/10.75.29.226) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 14 Nov 2008 13:12:44 +0000 Message-ID: <491D7949.7050104@oracle.com> Date: Fri, 14 Nov 2008 14:12:41 +0100 From: Marcus Lagergren User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: "Dealy, Brian" X-ASG-Orig-Subj: Re: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Subject: Re: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) References: <20081111200016.06827308128@0461-ITS-SMS01> <53C979FEC5BAF24BA10B4626F179F80402E257F2@0461-its-exmb01.us.saic.com> In-Reply-To: <53C979FEC5BAF24BA10B4626F179F80402E257F2@0461-its-exmb01.us.saic.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: acsmt704.oracle.com [141.146.40.82] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090201.491D794E.003D:SCFSTAT928724,ss=1,fgs=0 X-Barracuda-Connect: acsinet12.oracle.com[141.146.126.234] X-Barracuda-Start-Time: 1226668370 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.10233 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Cc: xen-api@lists.xensource.com X-BeenThere: xen-api@lists.xensource.com X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of API issues surrounding Xen List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-api-bounces@lists.xensource.com Errors-To: xen-api-bounces@lists.xensource.com Here at Oracle Corporation, we have developed our own XenAPI Java bindings with the intent of total API support and of releasing them open source. The implementation is done, legal details remain. Stay tuned. They are way more compact and functional than previous versions. Regards, Marcus Dealy, Brian wrote: > Hi, > The way I understand the current situation there is an API to XMLRPC > that is part of the xenServer product line. This java api is not > actually 100% compatible with the api (and the xend code ) from xen.org > . (I have verified this) > > I have an interest in having a java API which would be available for the > open source version (not tied to XenServer) and was thinking that if no > one was working this, I might be interested in contributing some time > towards it. I have some ideas about how this might be done, but not > having been a part of a community development project, I am not sure > about how the process flows. > > I have taken the XenServer java api and done some mods based on the > python source and the API spec, Xen Management API dated 24, july 2008 > (Stable release) and have been having some success using it to > manipulate and retrieve values via xmlrpc. I am assuming that this is ok > for my early testing, but would like to share with the community if > possible. I have had to change some of the method signatures, of > course since they are different. I haven't > kept a list of diffs, etc. and the code is not a 100% tested, validated > to be faithful to the spec above. but > I would be willing to make it available. ( I might need to spend an hour > or so refactoring the package names) > > > But I would like to know if there is anyone working on the open source > xen java bindings and if not, whether > there would be interest in having them become a separate project under > xen.org. I am not sure what the process > is for contributing to the xen community as a developer so any insights > there would be useful also. I would > be willing to take the lead on getting started if no one else is working > this. > > things that might make sense to talk about are: > Should the API be tied to the api for XenSource.com's open source sdk > java bindings? > if so, what is the mechanism that would be needed to maintain separate > trees because > of the different feature sets they currently support? > > Does anyone know if the current xen-api and Specification are auto > generated to any degree? they definitely seem like a candidate for code > generation from a common spec of some sort. (could be useful for other > bindings as well) > > Any discussion is appreciated. > > regards, > > Brian Dealy > > dealyb@saic.com > > > > > > > > > > > Date: Mon, 10 Nov 2008 15:26:56 -0800 > From: "hlebegue" > Subject: [Xen-API] Xen API - Java RPC Binding > To: > Message-ID: > <133A1C67A2D4284A91A113F4D951E8DAA87C9F@ginger.toolwire.com> > Content-Type: text/plain; charset="us-ascii" > > I found some old references to a library developed in Cambridge UK for > which the link is no longer active > > http://www.cl.cam.ac.uk/~tw275/java-binding-source.tar.gz > > http://www.cl.cam.ac.uk/%7Etw275/java-binding-source.tar.gz > > > > I also found a sample using the Apache JavaRpc client on the slides on > the Wiki > > > > Has anyone developed a Java library that wraps around the Rpc bindings > to expose the XenAPI ? > > > > Thanks in advance > > Hugo Lebegue > > > > CONFIDENTIALITY NOTICE: This communication with its contents may contain > confidential and/or legally privileged information. It is solely for the > use of the intended recipient(s). Unauthorized interception, review, use > or disclosure is prohibited and may violate applicable laws including > the Electronic Communications Privacy Act. If you are not the intended > recipient, please contact the sender and destroy all copies of the > communication. More information at http://www.toolwire.com > > > > > _______________________________________________ > xen-api mailing list > xen-api@lists.xensource.com > http://lists.xensource.com/mailman/listinfo/xen-api > _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api From xen-api-bounces@lists.xensource.com Fri Nov 14 08:10:11 2008 Return-path: Envelope-to: www-data@lists.xensource.com Delivery-date: Fri, 14 Nov 2008 08:10:11 -0800 Received: from localhost ([127.0.0.1] helo=lists.colo.xensource.com) by lists.xensource.com with esmtp (Exim 4.43) id 1L11FL-0001su-Fm; Fri, 14 Nov 2008 08:10:11 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1L11FI-0001rt-Bi for xen-api@lists.xensource.com; Fri, 14 Nov 2008 08:10:08 -0800 X-ASG-Debug-ID: 1226679000-54cd00020000-trChs3 X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from smtp1.toolwire.com (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with ESMTP id 0B0C1E39B6 for ; Fri, 14 Nov 2008 08:10:00 -0800 (PST) Received: from smtp1.toolwire.com (smtp1.toolwire.com [206.132.208.6]) by spam.xensource.com with ESMTP id WYTbVEv3vHGtr6kx for ; Fri, 14 Nov 2008 08:10:00 -0800 (PST) Received: from ginger.toolwire.com (unknown [10.2.0.40]) by smtp1.toolwire.com (Postfix) with ESMTP id CDFA34800C for ; Fri, 14 Nov 2008 08:10:00 -0800 (PST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-ASG-Orig-Subj: RE: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Subject: RE: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Date: Fri, 14 Nov 2008 08:08:50 -0800 Message-ID: <133A1C67A2D4284A91A113F4D951E8DAA87EF0@ginger.toolwire.com> In-Reply-To: <53C979FEC5BAF24BA10B4626F179F80402E257F2@0461-its-exmb01.us.saic.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) thread-index: AclEOCxWn1hR9N9uRUC+ORvLi10LkwBzUoHwABsuLcA= References: <20081111200016.06827308128@0461-ITS-SMS01> <53C979FEC5BAF24BA10B4626F179F80402E257F2@0461-its-exmb01.us.saic.com> From: "hlebegue" To: "Dealy, Brian" , X-Barracuda-Connect: smtp1.toolwire.com[206.132.208.6] X-Barracuda-Start-Time: 1226679001 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.10241 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Cc: X-BeenThere: xen-api@lists.xensource.com X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of API issues surrounding Xen List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-api-bounces@lists.xensource.com Errors-To: xen-api-bounces@lists.xensource.com Hi Brian. I second this initiative. It could be better if your enhancements can make it into XenSource so that the two stacks do not compete. And maybe the XenServer specific APIs could be split from the source, as an attitional plugin/extension.=20 I do not know if Citrix is driving the development of the Xen Source or how hard would it be to refactor it.=20 The Java Bindings should be made one of the standard bindings distributed along in an SDK.=20 Hope this helps Hugo -----Original Message----- From: xen-api-bounces@lists.xensource.com [mailto:xen-api-bounces@lists.xensource.com] On Behalf Of Dealy, Brian Sent: Thursday, November 13, 2008 7:17 PM To: xen-api@lists.xensource.com Subject: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Hi, The way I understand the current situation there is an API to XMLRPC that is part of the xenServer product line. This java api is not actually 100% compatible with the api (and the xend code ) from xen.org . (I have verified this)=20 I have an interest in having a java API which would be available for the open source version (not tied to XenServer) and was thinking that if no one was working this, I might be interested in contributing some time towards it. I have some ideas about how this might be done, but not having been a part of a community development project, I am not sure about how the process flows. =20 I have taken the XenServer java api and done some mods based on the python source and the API spec, Xen Management API dated 24, july 2008 (Stable release) and have been having some success using it to manipulate and retrieve values via xmlrpc. I am assuming that this is ok for my early testing, but would like to share with the community if possible. I have had to change some of the method signatures, of course since they are different. I haven't kept a list of diffs, etc. and the code is not a 100% tested, validated to be faithful to the spec above. but=20 I would be willing to make it available. ( I might need to spend an hour or so refactoring the package names) But I would like to know if there is anyone working on the open source xen java bindings and if not, whether there would be interest in having them become a separate project under xen.org. I am not sure what the process=20 is for contributing to the xen community as a developer so any insights there would be useful also. I would be willing to take the lead on getting started if no one else is working this. things that might make sense to talk about are: =20 Should the API be tied to the api for XenSource.com's open source sdk java bindings? if so, what is the mechanism that would be needed to maintain separate trees because of the different feature sets they currently support? =20 Does anyone know if the current xen-api and Specification are auto generated to any degree? they definitely seem like a candidate for code generation from a common spec of some sort. (could be useful for other bindings as well) Any discussion is appreciated. regards, Brian Dealy dealyb@saic.com Date: Mon, 10 Nov 2008 15:26:56 -0800 From: "hlebegue" Subject: [Xen-API] Xen API - Java RPC Binding To: Message-ID: <133A1C67A2D4284A91A113F4D951E8DAA87C9F@ginger.toolwire.com> Content-Type: text/plain; charset=3D"us-ascii" I found some old references to a library developed in Cambridge UK for which the link is no longer active =20 http://www.cl.cam.ac.uk/~tw275/java-binding-source.tar.gz=20 http://www.cl.cam.ac.uk/%7Etw275/java-binding-source.tar.gz =20 I also found a sample using the Apache JavaRpc client on the slides on the Wiki =20 Has anyone developed a Java library that wraps around the Rpc bindings to expose the XenAPI ? =20 Thanks in advance Hugo Lebegue =20 CONFIDENTIALITY NOTICE: This communication with its contents may contain confidential and/or legally privileged information. It is solely for the use of the intended recipient(s). Unauthorized interception, review, use or disclosure is prohibited and may violate applicable laws including the Electronic Communications Privacy Act. If you are not the intended recipient, please contact the sender and destroy all copies of the communication. More information at http://www.toolwire.com =20 _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api From xen-api-bounces@lists.xensource.com Fri Nov 14 09:42:52 2008 Return-path: Envelope-to: www-data@lists.xensource.com Delivery-date: Fri, 14 Nov 2008 09:42:52 -0800 Received: from localhost ([127.0.0.1] helo=lists.colo.xensource.com) by lists.xensource.com with esmtp (Exim 4.43) id 1L12h2-0003jk-1W; Fri, 14 Nov 2008 09:42:52 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1L12gy-0003iZ-BI for xen-api@lists.xensource.com; Fri, 14 Nov 2008 09:42:48 -0800 X-ASG-Debug-ID: 1226684567-0f4600010000-trChs3 X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from cpmx2.mail.saic.com (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with ESMTP id 4023EE3A27 for ; Fri, 14 Nov 2008 09:42:47 -0800 (PST) Received: from cpmx2.mail.saic.com (cpmx2.mail.saic.com [139.121.17.172]) by spam.xensource.com with ESMTP id B0SsyUA3YShGsMEc for ; Fri, 14 Nov 2008 09:42:47 -0800 (PST) Received: from 0461-ITS-SMS01 ([139.121.20.253] [139.121.20.253]) by cpmx2.mail.saic.com with ESMTP id BT-MMP-2648620; Fri, 14 Nov 2008 09:42:29 -0800 X-AuditID: 8b79118c-ad674ba0000019b5-24-491db885b1fe Received: from 0461-its-exbh01.us.saic.com (unknown [139.121.20.253]) by 0461-ITS-SMS01 (Symantec Mail Security) with ESMTP id 46846308136; Fri, 14 Nov 2008 09:42:29 -0800 (PST) Received: from 0461-its-exmb01.us.saic.com ([10.8.67.21]) by 0461-its-exbh01.us.saic.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 14 Nov 2008 09:42:01 -0800 x-mimeole: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-ASG-Orig-Subj: RE: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Subject: RE: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Date: Fri, 14 Nov 2008 09:41:43 -0800 Message-Id: <53C979FEC5BAF24BA10B4626F179F80402E25AFA@0461-its-exmb01.us.saic.com> In-Reply-To: <133A1C67A2D4284A91A113F4D951E8DAA87EF0@ginger.toolwire.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Thread-Index: AclEOCxWn1hR9N9uRUC+ORvLi10LkwBzUoHwABsuLcAAAFmxMA== References: <20081111200016.06827308128@0461-ITS-SMS01> <53C979FEC5BAF24BA10B4626F179F80402E257F2@0461-its-exmb01.us.saic.com> <133A1C67A2D4284A91A113F4D951E8DAA87EF0@ginger.toolwire.com> From: "Dealy, Brian" To: "hlebegue" , X-OriginalArrivalTime: 14 Nov 2008 17:42:01.0343 (UTC) FILETIME=[4CB490F0:01C94680] X-Brightmail-Tracker: AAAAAA== X-Barracuda-Connect: cpmx2.mail.saic.com[139.121.17.172] X-Barracuda-Start-Time: 1226684567 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.10248 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Cc: X-BeenThere: xen-api@lists.xensource.com X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion of API issues surrounding Xen List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-api-bounces@lists.xensource.com Errors-To: xen-api-bounces@lists.xensource.com Hugo, Hi. thanks for the note. I agree. I don't want a competing API either. Maybe one which is versioned somehow to account for the different features=20 that each offers (one API to serve both code bases). I also=20 agree it should be one of the standard bindings distributed with the release. (with appropriate examples on how to use it) Let's see what further responses come in and I will look at the code =CD=F1igo Goirii sent as well. regards Brian -----Original Message----- From: hlebegue [mailto:hlebegue@toolwire.com]=20 Sent: Friday, November 14, 2008 8:09 AM To: Dealy, Brian; xen-api@lists.xensource.com Subject: RE: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Hi Brian. I second this initiative. It could be better if your enhancements can make it into XenSource so that the two stacks do not compete. And maybe the XenServer specific APIs could be split from the source, as an attitional plugin/extension.=20 I do not know if Citrix is driving the development of the Xen Source or how hard would it be to refactor it.=20 The Java Bindings should be made one of the standard bindings distributed along in an SDK.=20 Hope this helps Hugo -----Original Message----- From: xen-api-bounces@lists.xensource.com [mailto:xen-api-bounces@lists.xensource.com] On Behalf Of Dealy, Brian Sent: Thursday, November 13, 2008 7:17 PM To: xen-api@lists.xensource.com Subject: [Xen-API] RE: Xen API - Java RPC Binding (hlebegue) Hi, The way I understand the current situation there is an API to XMLRPC that is part of the xenServer product line. This java api is not actually 100% compatible with the api (and the xend code ) from xen.org . (I have verified this)=20 I have an interest in having a java API which would be available for the open source version (not tied to XenServer) and was thinking that if no one was working this, I might be interested in contributing some time towards it. I have some ideas about how this might be done, but not having been a part of a community development project, I am not sure about how the process flows. =20 I have taken the XenServer java api and done some mods based on the python source and the API spec, Xen Management API dated 24, july 2008 (Stable release) and have been having some success using it to manipulate and retrieve values via xmlrpc. I am assuming that this is ok for my early testing, but would like to share with the community if possible. I have had to change some of the method signatures, of course since they are different. I haven't kept a list of diffs, etc. and the code is not a 100% tested, validated to be faithful to the spec above. but=20 I would be willing to make it available. ( I might need to spend an hour or so refactoring the package names) But I would like to know if there is anyone working on the open source xen java bindings and if not, whether there would be interest in having them become a separate project under xen.org. I am not sure what the process=20 is for contributing to the xen community as a developer so any insights there would be useful also. I would be willing to take the lead on getting started if no one else is working this. things that might make sense to talk about are: =20 Should the API be tied to the api for XenSource.com's open source sdk java bindings? if so, what is the mechanism that would be needed to maintain separate trees because of the different feature sets they currently support? =20 Does anyone know if the current xen-api and Specification are auto generated to any degree? they definitely seem like a candidate for code generation from a common spec of some sort. (could be useful for other bindings as well) Any discussion is appreciated. regards, Brian Dealy dealyb@saic.com Date: Mon, 10 Nov 2008 15:26:56 -0800 From: "hlebegue" Subject: [Xen-API] Xen API - Java RPC Binding To: Message-ID: <133A1C67A2D4284A91A113F4D951E8DAA87C9F@ginger.toolwire.com> Content-Type: text/plain; charset=3D"us-ascii" I found some old references to a library developed in Cambridge UK for which the link is no longer active =20 http://www.cl.cam.ac.uk/~tw275/java-binding-source.tar.gz=20 http://www.cl.cam.ac.uk/%7Etw275/java-binding-source.tar.gz =20 I also found a sample using the Apache JavaRpc client on the slides on the Wiki =20 Has anyone developed a Java library that wraps around the Rpc bindings to expose the XenAPI ? =20 Thanks in advance Hugo Lebegue =20 CONFIDENTIALITY NOTICE: This communication with its contents may contain confidential and/or legally privileged information. It is solely for the use of the intended recipient(s). Unauthorized interception, review, use or disclosure is prohibited and may violate applicable laws including the Electronic Communications Privacy Act. If you are not the intended recipient, please contact the sender and destroy all copies of the communication. More information at http://www.toolwire.com =20 _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api _______________________________________________ xen-api mailing list xen-api@lists.xensource.com http://lists.xensource.com/mailman/listinfo/xen-api From xndezir@newangelesmonthly.com Mon Nov 24 08:42:33 2008 Return-path: Envelope-to: apache@lists.xensource.com Delivery-date: Mon, 24 Nov 2008 08:42:33 -0800 Received: from spam.xensource.com ([70.42.241.90]) by lists.xensource.com with esmtp (Exim 4.43) id 1L4eW9-0004I9-EH for apache@lists.xensource.com; Mon, 24 Nov 2008 08:42:33 -0800 X-ASG-Debug-ID: 1227544948-22d8001a0000-RounwS X-Barracuda-URL: http://spam.xensource.com:8000/cgi-bin/mark.cgi Received: from newangelesmonthly.com (localhost [127.0.0.1]) by spam.xensource.com (Spam Firewall) with SMTP id A8FE6E9C46; Mon, 24 Nov 2008 08:42:29 -0800 (PST) Received: from newangelesmonthly.com (cpe-075-176-002-002.carolina.res.rr.com [75.176.2.2]) by spam.xensource.com with SMTP id DQ6RVLvlPYJjliic; Mon, 24 Nov 2008 08:42:29 -0800 (PST) Message-ID: <3C969B6A.801A0EB6@newangelesmonthly.com> Date: Mon, 24 Nov 2008 18:35:23 +0100 From: "Start Casino" To: , , , , , , , , , , , , , , X-ASG-Orig-Subj: Congratulations, You won 300 EURO casi no chips! Tuyi Subject: [SPAM] Congratulations, You won 300 EURO casi no chips! Tuyi MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="Windows-1252"; reply-type=original Content-Transfer-Encoding: 7bit X-Barracuda-Connect: cpe-075-176-002-002.carolina.res.rr.com[75.176.2.2] X-Barracuda-Start-Time: 1227544952 X-Barracuda-Virus-Scanned: by Barracuda Spam Firewall at xensource.com X-Barracuda-Spam-Score: 3.62 X-Barracuda-Spam-Status: Yes, SCORE=3.62 using per-user scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=6.0 KILL_LEVEL=1000.0 tests=RCVD_IN_PBL, RDNS_DYNAMIC, STOX_REPLY_TYPE, TVD_FINGER_02 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.1.11050 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.80 RCVD_IN_PBL RBL: Received via a relay in Spamhaus PBL [75.176.2.2 listed in zen.spamhaus.org] 0.00 STOX_REPLY_TYPE STOX_REPLY_TYPE 2.72 TVD_FINGER_02 TVD_FINGER_02 0.10 RDNS_DYNAMIC Delivered to trusted network by host with dynamic-looking rDNS X-Priority: 5 (Lowest) X-MSMail-Priority: Low Importance: Low X-Barracuda-Spam-Flag: YES Start to play and claim your 300 EUR right now! http://at.newtimeplaying.com/?ya=4323465 wu zjuz Lueylaubii s cuo wopifqund hudeqile uieeebqa ;) Hacih sbsinuwes efiromaiv a amibyhu!