Matt,
The factory.create() method takes a (.) separated path. The path is used to reference
elements nested elements such as:
<element name="A">
<element name="B"/>
<element name="C"/>
</element>
</element>
Element 'C' is not a top level element so the only way to create one is using the
following path:
But, to handle names containing (.), I'll need to add an optional param (maybe:
pathseparator) to create(). I'll CC you on the ticket so you'll get an email when
it's
committted.
Regards,
Jeff
Matt C wrote:
It looks like I'm working, at least for the getter methods.
I'm flailing
now with figuring out how to deal with my types correctly...I suspect
that the types defined with dots "." in them may cause me grief:
Calling the create() method expects the following types:
create(Common.StringSequence pool_names, LocalLB.LBMethodSequence
lb_methods, Common.IPPortDefinitionSequenceSequence members, )
In [198]: mem = c.factory.create('Common.IPPortDefinition')
DEBUG:suds.resolver:searching schema for (Common)
DEBUG:suds.xsd.query:('Common', u'urn:iControl'), not-found
DEBUG:suds.xsd.query:('Common', u'urn:iControl'), not-found
ERROR:suds.resolver:(Common) not-found
ERROR:suds.resolver:path: "Common.IPPortDefinition", not-found
Any suggestions? Once I figure out how to deal with these types
correctly (with fingers crossed that Suds is OK with the Soap-Enc:
Arrays defined in the WSDL) I think we may be off to the races.
Regards,
Matt
On Thu, Feb 26, 2009 at 3:47 PM, Matt C <mcauthorn(a)gmail.com
<mailto:mcauthorn@gmail.com>> wrote:
Jeff: Many thanks. I'll look into getting the WSDL changed. In the
meantime I'm eager to start working with the library - thanks for
the work!
Regards,
Matt
On Wed, Feb 25, 2009 at 2:45 PM, Jeff Ortel <jortel(a)redhat.com
<mailto:jortel@redhat.com>> wrote:
Hey Matt,
Found the problem. The Import.bind() isn't helping because the
WSDL is broken in a different way. It is referencing the
'Array' type defined in the schema for the soap section 5
encoding namespace (
http://schemas.xmlsoap.org/soap/encoding/ )
but does *not* import it.
Properly importing the namespace by adding:
<xsd:import
namespace='http://schemas.xmlsoap.org/soap/encoding/'/
<
http://schemas.xmlsoap.org/soap/encoding/%27/>>
at line #24 in the WSDL fixes the WSDL. (see attached).
As mentioned, 0.3.4 automatically binds the
'http://schemas.xmlsoap.org/soap/encoding/' namespace to the
schemaLocation="http://schemas.xmlsoap.org/soap/encoding/". So,
if you're using suds 0.3.4+, you no longer need to manually bind
the namespace.
Hope this helps,
Jeff
Matt C wrote:
For some reason I simply can't get past this error. I am
running 0.3.3 and I've tried all of the manual bind tricks
that I've been able to dig up. Any suggestions would be most
appreciated. The WSDL in question is attached.
Regards,
Matt
On Mon, Feb 23, 2009 at 10:23 AM, Giovanni Marco Dall'Olio
<dalloliogm(a)gmail.com <mailto:dalloliogm@gmail.com>
<mailto:dalloliogm@gmail.com <mailto:dalloliogm@gmail.com>>>
wrote:
On Mon, Feb 23, 2009 at 3:56 PM, Jeff Ortel
<jortel(a)redhat.com <mailto:jortel@redhat.com>
<mailto:jortel@redhat.com <mailto:jortel@redhat.com>>>
wrote:
>
>
> Giovanni Marco Dall'Olio wrote:
>>
>> Hi people,
>>
>> I have received many times the same error "Type not
found: '(Array,
>>
http://schemas.xmlsoap.org/soap/encoding/, )", when
using suds to
>> interrogate some third party wsdl services.
>
> This is a schema import issue that is address in:
>
https://fedorahosted.org/suds/wiki/TipsAndTricks under
heading:
"Schema -
> TypeNotFound".
>
> Note: Since the problem is so wide spread, 0.3.4
automatically
does the
> bind().
Thank you very much for the quick answer!
I can confirm you that with 0.3.4 it works well.
One last thing: I am going to report this problem to the
respective
maintainers of the various wsdls.
>>
>> I have also posted a bug report here:
>> -
https://fedorahosted.org/suds/ticket/200
>>
>> however, hey, please check your bug tracker because
it seems to have
>> been spammed.
>
> This is big problem on all Fedora Trac projects :-(
>
> We're working to resolve the problem.
>
>>
>> Here are the wsdl from which I get the Type not found
error:
>> -
http://soap.genome.jp/KEGG.wsdl
>> -
http://www.reactome.org:8080/caBIOWebApp/services/caBIOService?wsdl
>> - those here:
http://bond.unleashedinformatics.com/Action? (go to
>> 'Downloads - WSDL APIs')
>>
>> _______________________________________________
>> fedora-suds-list mailing list
>> fedora-suds-list(a)redhat.com
<mailto:fedora-suds-list@redhat.com>
<mailto:fedora-suds-list@redhat.com
<mailto:fedora-suds-list@redhat.com>>
>>
https://www.redhat.com/mailman/listinfo/fedora-suds-list
>
--
My blog on bioinformatics (now in English):
http://bioinfoblog.it
_______________________________________________
fedora-suds-list mailing list
fedora-suds-list(a)redhat.com
<mailto:fedora-suds-list@redhat.com>
<mailto:fedora-suds-list@redhat.com
<mailto:fedora-suds-list@redhat.com>>
https://www.redhat.com/mailman/listinfo/fedora-suds-list
------------------------------------------------------------------------
_______________________________________________
fedora-suds-list mailing list
fedora-suds-list(a)redhat.com <mailto:fedora-suds-list@redhat.com>
https://www.redhat.com/mailman/listinfo/fedora-suds-list