myGrid

Empty SOAP body fails with "Attempt to create a null data object"

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Won't Fix
  • Affects Version/s: 1.6.2, 1.6.2.1
  • Fix Version/s: 1.6.2.2
  • Component/s: Taverna Processors
  • Labels:
    None

Description

As reported by Sandra Calderon to taverna-users on 2007-11-16 (quote formatted):

I'm trying to use the WSInterproScan workflow proposed by EBI web services. I had some problems, in particular with 'poll'. When I try to run a protein sequence that apparently does not have result, the workflow breaks down with the message:

Error occured during invocation Attempt to create a null data object, definitely not allowed!

This is very annoying when the input contains several predicted sequences that a priori it is not possible to know the result.

Her attached workflow iprscan_MYCCO.xml doesn't always fail like this, but if the coordination link to "poll" is removed, as in attached workflow iprscan_MYCCO_fails.xml - the poll processor will always fail because the server returns an empty body.

Stack trace from iprscan_MYCCO_fails.xml:

ERROR 2007-11-20 14:31:45,992 Failure while executing task poll
uk.ac.soton.itinnovation.taverna.enactor.entities.TaskExecutionException: Error occured during invocation Attempt to create a null data object, definitely not allowed!
	at org.embl.ebi.escience.scuflworkers.wsdl.WSDLInvocationTask.execute(WSDLInvocationTask.java:127)
	at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.runAndGenerateTemplates(ProcessorTask.java:576)
	at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.doInvocationWithRetryLogic(ProcessorTask.java:517)
	at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invokeOnce(ProcessorTask.java:436)
	at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invokeWithoutIteration(ProcessorTask.java:642)
	at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invoke(ProcessorTask.java:353)
	at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.handleRun(ProcessorTask.java:280)
	at uk.ac.soton.itinnovation.freefluo.core.task.NewState$1.run(NewState.java:67)
Caused by: java.lang.RuntimeException: Attempt to create a null data object, definitely not allowed!
	at org.embl.ebi.escience.baclava.DataThing.<init>(DataThing.java:231)
	at org.embl.ebi.escience.baclava.factory.DataThingFactory.bake(DataThingFactory.java:43)
	at org.embl.ebi.escience.scuflworkers.wsdl.soap.SOAPResponsePrimitiveParser.parse(SOAPResponsePrimitiveParser.java:98)
	at org.embl.ebi.escience.scuflworkers.wsdl.soap.WSDLSOAPInvoker.invoke(WSDLSOAPInvoker.java:141)
	at org.embl.ebi.escience.scuflworkers.wsdl.soap.WSDLSOAPInvoker.invoke(WSDLSOAPInvoker.java:91)
	at org.embl.ebi.escience.scuflworkers.wsdl.WSDLInvocationTask.execute(WSDLInvocationTask.java:84)
	... 7 more

The line in question is:

List response = responseEnv.getBodyElements();

so this hints that responseEnv could be non-null, while getBodyElements() could return null.

Potential fix (untested) - change if (responseEnv == null) to :

if (responseEnv == null || responseEnv.getBodyElements() == null) {
  1. iprscan_MYCCO_fails.xml
    2007-11-20 14:44
    8 kB
    Stian Soiland-Reyes
  2. iprscan_MYCCO.xml
    2007-11-20 14:43
    8 kB
    Stian Soiland-Reyes

Issue Links

Activity

Hide
Stian Soiland-Reyes added a comment - 2007-11-20 14:43

Since this seems related to TAV-617, I'll ask the user if she gets the same problems with 1.6.2.1.

Show
Stian Soiland-Reyes added a comment - 2007-11-20 14:43 Since this seems related to TAV-617, I'll ask the user if she gets the same problems with 1.6.2.1.
Hide
Stian Soiland-Reyes added a comment - 2007-11-20 14:48

Suggested fix wouldn't help, as the poll() processor in question has an expected output "output". It might be that the bug only appears with the initial workflow if a particular input is given. Asked the user for details.

Show
Stian Soiland-Reyes added a comment - 2007-11-20 14:48 Suggested fix wouldn't help, as the poll() processor in question has an expected output "output". It might be that the bug only appears with the initial workflow if a particular input is given. Asked the user for details.
Hide
Stuart Owen added a comment - 2007-11-21 10:17

I don't think this is the problem.
The SOAP response from the web service is:

<namesp1:pollResponse xmlns:namesp1="http://www.ebi.ac.uk/WSInterProScan"><result xsi:nil="true" xsi:type="xsd:base64Binary" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/></namesp1:pollResponse>

The error appears to be being caused because result correctly being interpreted as a null value, yet the DataThing can't handle this.
So the question really is what do we do with web service responses that returns null.

Show
Stuart Owen added a comment - 2007-11-21 10:17 I don't think this is the problem. The SOAP response from the web service is: <namesp1:pollResponse xmlns:namesp1="http://www.ebi.ac.uk/WSInterProScan"><result xsi:nil="true" xsi:type="xsd:base64Binary" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/></namesp1:pollResponse> The error appears to be being caused because result correctly being interpreted as a null value, yet the DataThing can't handle this. So the question really is what do we do with web service responses that returns null.
Hide
Stian Soiland-Reyes added a comment - 2007-11-21 10:29

Sandra sent example inputs:

Here are 2 examples of sequences producing the workflow fail:

>P20117|PSAD_PEA Photosystem I reaction center subunit II (Fragment) - Pisum sativum (Garden pea).
XTEDKTDAATDVATXEAPVGFTPXELDPNTXSXIFG
>Contig_4225_orf00001 | 526-1263 | +1 | 2.93
MIIVNSQPQIEQNNKNFSIEVLKNTLNNLKSIFDKEITEIKTEYNNSTLMPFSSKNKTVN
DFVTNDDWNTINHRLFWAIQTYLDFHKTAKNILSDLHSFLYKLNPLWDASAAVGDFFDAL
YESGKTGIKPIDTGIFAGKTIFTALGLLKRSEKFLNYSSDFIIHIFKGIMEVSKNKNIEE
LQNRLIFAKDILNNINYNWWDYFSVLIARNKVEGSFNTIHGIYQKAHTLYNDYLREDYWG
SSSWYX
Show
Stian Soiland-Reyes added a comment - 2007-11-21 10:29 Sandra sent example inputs:
Here are 2 examples of sequences producing the workflow fail:
>P20117|PSAD_PEA Photosystem I reaction center subunit II (Fragment) - Pisum sativum (Garden pea).
XTEDKTDAATDVATXEAPVGFTPXELDPNTXSXIFG
>Contig_4225_orf00001 | 526-1263 | +1 | 2.93
MIIVNSQPQIEQNNKNFSIEVLKNTLNNLKSIFDKEITEIKTEYNNSTLMPFSSKNKTVN
DFVTNDDWNTINHRLFWAIQTYLDFHKTAKNILSDLHSFLYKLNPLWDASAAVGDFFDAL
YESGKTGIKPIDTGIFAGKTIFTALGLLKRSEKFLNYSSDFIIHIFKGIMEVSKNKNIEE
LQNRLIFAKDILNNINYNWWDYFSVLIARNKVEGSFNTIHGIYQKAHTLYNDYLREDYWG
SSSWYX
Hide
June Finch added a comment - 2007-11-21 10:36

Stian, Can you pick this up to investigate further?

Show
June Finch added a comment - 2007-11-21 10:36 Stian, Can you pick this up to investigate further?
Hide
Stian Soiland-Reyes added a comment - 2007-11-21 16:27

We can't fix this now, as we would need support for null-values, as described by TAV-653.

Show
Stian Soiland-Reyes added a comment - 2007-11-21 16:27 We can't fix this now, as we would need support for null-values, as described by TAV-653.

People

Vote (0)
Watch (0)

Dates

  • Created:
    2007-11-20 14:39
    Updated:
    2007-11-21 16:27
    Resolved:
    2007-11-21 16:27