<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV>Gerhard:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>I think there's a bit of a conceptual issue here that might need a bit of clarification. </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>OME exposes a set of API calls via XML-RPC. To access data, you'll create XML-RPC requests that specifically call these procedures. As a result, the XML-RPC interface is not object-oriented: there is no notion of getting a factory object and then asking it to do work for you. </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>The createSession call that you encountered earlier is the first example of the procedural calls supported by the remote API. Other calls can be located by looking at the Facade.pm file under src/perl2/OME/Remote, and in the specific facades found under the Facades directory of that subdirectory.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>From Facade.pm, you might see that calls like serverVersion, createSession, authenticateSession, closeSession, and dispatch are directly supported.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Dispatch is the workhorse call. For a call with a methodName of "dispatch",  the first parameter is the name of a sub-method. Facade.pm will find a specialized facade that implements the method in question, and then call that method on the remaining arguments. </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>For example,  GenericFacade provides an implementation of retrieveObjects.  to use this, you would construct an XML-RPC call with method name "dispatch", and a string of arguments. The first argument would be "retrieveObject", and the remaining arguments would be the object type, the criteria, and the list of requested fields.  This call would return the results of the given query.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Does this help make things clearer?</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>-harry</DIV><DIV><DIV>On Oct 5, 2005, at 11:48 AM, gerhard wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite">  <P><FONT size="2">Hello here's another XMLRPC problem How do I get back the Factory. The</FONT> <BR><FONT size="2">response of the following code is a parameters do not match exception.</FONT> <BR><FONT size="2">I think the problem is the &lt;array&gt; tag. Because I don't know how to</FONT> <BR><FONT size="2">write that there is no parameter in the prototype.</FONT> </P><P><FONT size="2">&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</FONT> <BR><FONT size="2">&lt;methodCall&gt;</FONT> <BR><FONT size="2">      &lt;methodName&gt;dispatch&lt;/methodName&gt;</FONT> <BR><FONT size="2">      &lt;params&gt;</FONT> <BR><FONT size="2">        &lt;param&gt;&lt;value&gt;&gt;&gt;OBJ:OME::Session=HASH(0x817e178)&lt;/value&gt;&lt;/param&gt;</FONT> <BR><FONT size="2">        &lt;param&gt;&lt;value&gt;&gt;&gt;OBJ:OME::Session=HASH(0x817e178)&lt;/value&gt;&lt;/param&gt;</FONT> <BR><FONT size="2">        &lt;param&gt;&lt;value&gt;Factory&lt;/value&gt;&lt;/param&gt;</FONT> <BR><FONT size="2">        &lt;param&gt;&lt;value&gt;&lt;array&gt;</FONT> <BR><FONT size="2">                            &lt;data&gt;</FONT> <BR><FONT size="2">                                 &lt;value&gt;  &lt;/value&gt;&lt;/data&gt;</FONT> <BR><FONT size="2">                      &lt;/array&gt;</FONT> <BR><FONT size="2">              &lt;/value&gt;</FONT> <BR><FONT size="2">        &lt;/param&gt; </FONT> <BR><FONT size="2">       &lt;/params&gt;</FONT> <BR><FONT size="2">&lt;/methodCall&gt;</FONT> </P><P><FONT size="2">Thanks very much</FONT> </P> <BR> <BR><P><FONT size="2">gerhard wrote:</FONT> <BR><FONT size="2">&gt;Sorry, I worked on the wrong machine, so I used the wrong password.</FONT> <BR><FONT size="2">&gt;Now it works.</FONT> <BR><FONT size="2">&gt;</FONT> <BR><FONT size="2">&gt;Thanks very much</FONT> <BR><FONT size="2">&gt;</FONT> <BR><FONT size="2">&gt;</FONT> <BR><FONT size="2">&gt;Ilya Goldberg wrote:</FONT> <BR><FONT size="2">&gt;  </FONT> <BR><FONT size="2">&gt;&gt;The createSession method expects a username and a password</FONT> <BR><FONT size="2">&gt;&gt;parameter.   Your parameters were:</FONT> <BR><FONT size="2">&gt;&gt;    </FONT> <BR><FONT size="2">&gt;&gt;&gt;        &lt;param&gt;&lt;value&gt;user&lt;/value&gt;&lt;/param&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;        &lt;param&gt;&lt;value&gt;omeuser&lt;/value&gt;&lt;/param&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;      </FONT> <BR><FONT size="2">&gt;&gt;can you log in using the username "user" and password "omeuser" on</FONT> <BR><FONT size="2">&gt;&gt;you  system (i.e. does that work in the web UI/Shoola)?</FONT> <BR><FONT size="2">&gt;&gt;Also, what version of the code-base are you using (CVS or 2.4.0)?</FONT> <BR><FONT size="2">&gt;&gt;And what is the URL you sent the XMLRPC to?</FONT> <BR><FONT size="2">&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;-I</FONT> <BR><FONT size="2">&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;On Oct 3, 2005, at 11:41 AM, gerhard wrote:</FONT> <BR><FONT size="2">&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;    </FONT> <BR><FONT size="2">&gt;&gt;&gt;Ilya Goldberg wrote:</FONT> <BR><FONT size="2">&gt;&gt;&gt;      </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;On Sep 27, 2005, at 5:44 AM, gerhard wrote:</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;        </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;Thanks for your answers,</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;At the moment I deal with QT so I just thought about a</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;simple application to query the database and get a specific</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;picture  out</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;of OME.</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;Because QT has classes for http and xml it should be no problem to </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;use</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;them to access OME.</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;But how works OME inside. The use of XML-RPC can only query the</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;database. So I can use this to get an specific Picture ID out of</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;OME  and</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;then use the ID to contact OMEIS. Is this right?</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;          </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;Yes.  Specifically, the ID you want to send OMEIS is</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;Image.default_pixels.ImageServerID</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;The URL to the OMEIS server that's storing the given pixels (there may</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;be more than one OMMEIS defined) is</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;Image.default_pixels.Repository.ImageServerURL</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;You can request that OMEIS render the pixels for you (3 channels max)</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;and return a tiff, jpeg or png:</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;<A href="http://www.openmicroscopy.org/api/omeis/composite.html">http://www.openmicroscopy.org/api/omeis/composite.html</A></FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;Or you can get an arbitrarily-sized thumbnail of the previously-set</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;"view" for the image, or you can request arbitrary planes/stacks/ROIs</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;of raw pixel data and render them yourself.</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;        </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;And what happens if I import an picture to OMEIS. Am I responsible </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;for</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;calling the proper methods so that OME (Database) knows about the new</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;picture?</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;          </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;OMEIS and OME operate independently.  More exactly, OMEIS doesn't know</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;anything about OME.  So yes, you would import a File (or Pixels) into</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;OMEIS, then create a new OME Image and a new set of Pixels (or another</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;set of Pixels for an existing Image), and specify the ImageServerID</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;you get from the OMEIS FinishPixels call (as well as a reference to</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;the correct Repository object).</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;-Ilya</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;        </FONT> <BR><FONT size="2">&gt;&gt;&gt;Hello,</FONT> <BR><FONT size="2">&gt;&gt;&gt;looking at the specification from XML-RPC it should be no problem to </FONT> <BR><FONT size="2">&gt;&gt;&gt;use</FONT> <BR><FONT size="2">&gt;&gt;&gt;xml-rpc within QT. But how can I login into OME. I  took a look at the</FONT> <BR><FONT size="2">&gt;&gt;&gt;ALLIGATOR tool.</FONT> <BR><FONT size="2">&gt;&gt;&gt;Alligator send the following post to login:</FONT> <BR><FONT size="2">&gt;&gt;&gt;&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&lt;methodCall&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;      &lt;methodName&gt;createSession&lt;/methodName&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;      &lt;params&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;        &lt;param&gt;&lt;value&gt;user&lt;/value&gt;&lt;/param&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;        &lt;param&gt;&lt;value&gt;omeuser&lt;/value&gt;&lt;/param&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;      &lt;/params&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&lt;/methodCall&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;I tried to post the same. As result I got the following:</FONT> <BR><FONT size="2">&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&lt;?xml version="1.0"</FONT> <BR><FONT size="2">&gt;&gt;&gt;encoding="UTF-8"?</FONT> <BR><FONT size="2">&gt;&gt;&gt;      </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&lt;methodResponse&gt;&lt;fault&gt;&lt;value&gt;&lt;struct&gt;&lt;member&gt;&lt;name&gt;faultString&lt;/</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;        </FONT> <BR><FONT size="2">&gt;&gt;&gt;name&gt;&lt;value&gt;&lt;string&gt;Cannot</FONT> <BR><FONT size="2">&gt;&gt;&gt;create session at</FONT> <BR><FONT size="2">&gt;&gt;&gt;/usr/lib/perl5/site_perl/5.8.6/OME/Remote/Dispatcher.pm line 172.</FONT> <BR><FONT size="2">&gt;&gt;&gt;&lt;/string&gt;&lt;/value&gt;&lt;/member&gt;&lt;member&gt;&lt;name&gt;faultCode&lt;/</FONT> <BR><FONT size="2">&gt;&gt;&gt;name&gt;&lt;value&gt;&lt;int&gt;102&lt;/int&gt;&lt;/value&gt;&lt;/member&gt;&lt;/struct&gt;&lt;/value&gt;&lt;/fault&gt;&lt;/</FONT> <BR><FONT size="2">&gt;&gt;&gt;methodResponse&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;So is there a way how I can login into the system.</FONT> <BR><FONT size="2">&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;Thanks very much gerhard</FONT> <BR><FONT size="2">&gt;&gt;&gt;      </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;_______________________________________________</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;ome-devel mailing list</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;<A href="mailto:ome-devel@lists.openmicroscopy.org.uk">ome-devel@lists.openmicroscopy.org.uk</A></FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;<A href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel</A></FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;</FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;&gt;          </FONT> <BR><FONT size="2">&gt;&gt;&gt;&gt;        </FONT> <BR><FONT size="2">&gt;&gt;    </FONT> <BR><FONT size="2">&gt;</FONT> <BR><FONT size="2">&gt;_______________________________________________</FONT> <BR><FONT size="2">&gt;ome-devel mailing list</FONT> <BR><FONT size="2">&gt;<A href="mailto:ome-devel@lists.openmicroscopy.org.uk">ome-devel@lists.openmicroscopy.org.uk</A></FONT> <BR><FONT size="2">&gt;<A href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel</A></FONT> <BR><FONT size="2">&gt;</FONT> <BR><FONT size="2">&gt;  </FONT> </P><P><FONT size="2">_______________________________________________</FONT> <BR><FONT size="2">ome-devel mailing list</FONT> <BR><FONT size="2"><A href="mailto:ome-devel@lists.openmicroscopy.org.uk">ome-devel@lists.openmicroscopy.org.uk</A></FONT> <BR><FONT size="2"><A href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel</A></FONT> </P>  </BLOCKQUOTE></DIV><BR></BODY></HTML>