The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Quick debugging script

This will execute a service in SOAP::Lite trace mode. This will show you the messages being passed back and forth between you and MOBY::Central, and you and the service you are trying to invoke.

This works with services that take Simple and/or Collection and/or Secondary articles as input.

If you only quickly want to test the communication with a BioMOBY Central and a service and not the functionality of the service itself you can combine this script with the test service "Boomerang" from authorithy "www.bioinformatics.nl". That service will simply echo back whatever you send it as long as it is valid BioMOBY data.

Usage

 DebugYourService.pl -a serviceAuthorityURI -n serviceName -i mobyDataFileName

The combination of serviceAuthorityURI and serviceName is a unique key to identify the service you are trying to test. mobyDataFilename is the name of a file that contains a mobyData block you wish to pass to the service.

e.g.

 DebugYourService.pl -a www.illuminae.com -n GetGoTerm -i ./service_input

Example of a mobyData input file with a single Simple article:

  <mobyData>
    <Simple>
       <moby:Object moby:namespace="GO" moby:id="0008303" />
    </Simple>
  </mobyData>

Example of a mobyData input file with Simple, Collection and Secondary articles:

  <mobyData>
    <Simple>
      <SomeObject namespace='some.namespace' id='00001' />
    </Simple>
    <Collection>
      <Simple>
        <AnotherObject namespace='another.namespace' id='11111' />
      </Simple>
      <Simple>          
        <AnotherObject namespace='another.namespace' id='11112' />
      </Simple>
    </Collection>
    <Parameter articleName='SomeOption'>
      <Value>7</Value>
    </Parameter>
</mobyData>