[MOBY-l] Continuing problems invoking Moby Services

Jay Potts potts at discoverymachine.com
Mon Oct 20 10:09:46 EDT 2003


Hey Folks,
I'm still having some trouble invoking Moby Services using Java.

Could someone who is familiar with the GetGoTerm service, please take a look
at this and let me know if I'm simply sending bad data to that service?

I'm using the Call method of the Java Api, after setting up a new endpoint
and URI to point to the service I want.

This is the message I'm sending as the payload of the SOAP message:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <namesp3:getGoTerm xmlns:namesp3="http://biomoby.org/">
  <body>
   <![CDATA[<?xml version='1.0' encoding='UTF-8'?>
<moby:MOBY xmlns:moby="http://www.biomoby.org/moby">
	<moby:Query>
		<moby:queryInput moby:articleName="ccc">
			<moby:Simple>
				<moby:Object moby:namespace="GO" moby:id="GO:0008303" />
			</moby:Simple>
		</moby:queryInput>
	</moby:Query>
</moby:MOBY>]]>
  </body>
    </namesp3:getGoTerm>
 </soapenv:Body>
</soapenv:Envelope>


Now, when I send that message, I get this response:
<?xml version='1.0' encoding='UTF-8'?>
      <moby:MOBY xmlns:moby='http://www.biomoby.org/moby'>
        <moby:Response moby:authority='http://www.illuminae.com'>

    </moby:Response>
      </moby:MOBY>


So, thinking that perhaps I was giving it too much, I then tried sending
just the body of that message, which is the following:
<?xml version='1.0' encoding='UTF-8'?>
<moby:MOBY xmlns:moby="http://www.biomoby.org/moby">
	<moby:Query>
		<moby:queryInput moby:articleName="ccc">
			<moby:Simple>
				<moby:Object moby:namespace="GO" moby:id="GO:0008303" />
			</moby:Simple>
		</moby:queryInput>
	</moby:Query>
</moby:MOBY>


And the response is then somewhat different:
<?xml version='1.0' encoding='UTF-8'?>
      <moby:MOBY xmlns:moby='http://www.biomoby.org/moby'>
        <moby:Response moby:authority='http://www.illuminae.com'>

        <moby:queryResponse/>

        <moby:queryResponse/>

    </moby:Response>
      </moby:MOBY>


Its still apparently empty, but it's got those two queryResponse lines in
there.

So, I have a few questions:
1) Which is correct for setting as the payload? Should I set the top
message, that is a whole soap message, or should I send the bottom, which is
just the xml document containing the argument? Keep in mind I'm using the
Java API's call method, and passing the message as the payload (which one I
should pass, I'm not sure).
2) Does anyone who is actually familiar with the GetGoTerm service, know if
I'm actually calling it correctly? I have a feeling that I'm not giving it
what it wants, which is why it's just giving me empty messages back.
3) Does the articleName attribute of the queryInput matter? I have it set as
ccc for no reason, mainly because I saw it in messages that other people
posted up. I think this is supposed to be the name of a named input, right?
If that's the case, where do I find out what this name is supposed to be?
Will it break it if it's not named correctly?





More information about the moby-l mailing list