2010/2/20 Dmitry Katsubo <[email protected]>:

> 5. When running the attached workflow, taverna uses incorrect SOAP
> namespaces, that cause the error.
> This is mostly difficult case to explain.
> We have workflow (see relations80.7z), composed in Taverna 1.x. I think
> that is a reason why it does not work for Taverna 2.x, but I am not
> sure. When running this workflow the error shown in taverna_trace.txt
> occurs. The service reports that the input argument is not defined. I
> have made a network communication dump for Taverna (btw, it's nice to
> have this feature in Taverna - network log), which is attached as
> taverna_post.txt. In this file I see that namespace is reset for empty
> for sourceId element:
> <sourceId xmlns="">

This does seem like a problem with your service's generated schema.

http://aneurist.erasmusmc.nl/euadr-manager-db/euadr-service-db?xsd=4
(imported from 
http://aneurist.erasmusmc.nl/euadr-manager-db/euadr-service-db?wsdl)
says:

<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's
version is JAX-WS RI 2.1.4-b01-. --><xs:schema
xmlns:tns="http://biosemantic.erasmusmc.org/";
xmlns:ns2="http://common.biosemantic.erasmusmc.org/";
xmlns:ns1="http://euadr.biosemantic.erasmusmc.org/";
xmlns:xs="http://www.w3.org/2001/XMLSchema"; version="1.0"
targetNamespace="http://biosemantic.erasmusmc.org/";>
…

the default elementFormDefault="unqualified" will apply - meaning that
nested elements defined within complex types, for example <sourceId>,
should be in the empty namespace.

See http://www.w3.org/TR/xmlschema-0/#UnqualLocals for examples and
explanations.

SOAP-UI also suggests this operation using the empty namespace for
<sourceId> and below:

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:bios="http://biosemantic.erasmusmc.org/";>
   <soapenv:Header/>
   <soapenv:Body>
      <bios:getRelations>
         <!--Optional:-->
         <sourceId>
            <source>?</source>
            <code>?</code>
         </sourceId>
         <!--Optional:-->
         <targetId>
            <source>?</source>
            <code>?</code>
         </targetId>
         <!--Optional:-->
         <informationSourceFilter>?</informationSourceFilter>
         <maxResults>?</maxResults>
      </bios:getRelations>
   </soapenv:Body>
</soapenv:Envelope>


It seems this must be a bug in JAX-WS if it cannot receive such elements.

We encountered the same in the office today with another
JAX-WS-generated service, when we changed the schema to include
elementFormDefault="qualified" and re-added the XML splitters in
Taverna the elements where in the target namespace.

I've marked T2-1155 as Not a bug, please let us know if I'm incorrect.

-- 
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
taverna-hackers mailing list
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/taverna-mailing-lists/
Developers Guide: http://www.mygrid.org.uk/tools/developer-information

Reply via email to