[Xml-compile] element `{foo}bar' not processed

Stig Brautaset stig at brautaset.org
Wed Sep 2 16:53:23 GMT 2009


Hi,

I keep on getting this error:

error: element `{http://foo}industries' not processed at {http://bar} 
getBasketResponse/return/component
  at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 612
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b7870)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 576
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b7870)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 445
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b7684)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 136
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b7684)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 609
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b7684)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 502
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b7684)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 419
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b769c)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 136
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b769c)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 631
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b769c)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 576
XML::Compile::Translate::Reader::__ANON__(XML::Compile::Iterator=HASH 
(0x95b769c)) at /usr/lib/perl5/XML/Compile/Translate/Reader.pm line 97
XML::Compile::Translate::Reader::__ANON__(XML::LibXML::Element=SCALAR 
(0x95b763c)) at /usr/lib/perl5/XML/Compile/SOAP.pm line 380
XML::Compile::SOAP::__ANON__(XML::LibXML::Element=SCALAR(0x95b74bc),  
XML::Compile::Translate::Reader=HASH(0x92c8df4), "{http:// 
schemas.xmlsoap.org/soap/envelope/}Envelope/Body"

When executing code that looks like this (I can't post the full code  
and wsdl, sorry):

my $wsdl  = XML::Compile::WSDL11->new( 'my.wsdl' );
my $get = $wsdl->compileClient( 'getBasket', qw/ port myport  
sloppy_floats 1 /);
$get->({ basketIndex => 1 });


I'm not actually interested in the 'industries' node, so I've been  
trying all day to simply ignore the 'industries' element, with hooks  
or whatnot, but I haven't been able to do so.
I'd really love it if anybody could let me know if it is possible.

The complex type is defined like this in the WSDL:

<xs:complexType name="CXComponent">
<xs:complexContent>
<xs:extension base="tns:Component">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="industries"  
type="tns:CXIndustry"/>
</xs:sequence>
<xs:attribute name="fxTick" type="xs:string"/>
<xs:attribute name="fxExch" type="xs:string"/>
<xs:attribute name="fxOper" type="xs:string"/>
<xs:attribute name="country" type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="CXIndustry">
<xs:sequence/>
<xs:attribute name="source" type="xs:string"/>
<xs:attribute name="id" type="xs:string"/>
<xs:attribute name="level" type="xs:int"/>
<xs:attribute name="description" type="xs:string"/>
</xs:complexType>

Any ideas?

I wonder if it could be because xsi:type is used to specify whether it  
is CXComponent or Component, and the industries element just happens  
to be encountered first?

Stig



More information about the Xml-compile mailing list