in reply to SOAP::WSDL problems

I've had some experience using SOAP::WSDL, including bug fixes.

The message you're getting is just a warning, as the schemaLocation attribute (the URI for the xsd) is missing (it's optional).

However, I found that wdsl2perl actually bombs with the error:

"unsupported global type <xsd:string> found in part extID at /usr/local/share/perl/5.8.8/SOAP/WSDL/Generator/Iterator/WSDL11.pm line 75."

This is caused by the WSDL element:


<wsdl:part name="extID" type="xsd:string">

This implies document/literal semantics which is not alloed if the WSDL is to meet the WS-I standard. (Hell, I'm bluffing - I can't remember exactly what that means :)

Anyway, SOAP::WSDL is quite strict about adhering to the WS-I standard. I think this allows it to cover a manageable amount of functionality.

The WSDL looks like it was auto-generated - can you say which tools were used to generate it?

Using tools such as Apache Axis will (I believe) generally lead to success as it should produce WS-I compliant WDSL.

The problem with SOAP::Lite is that it simply doesn't handle complex types.

Replies are listed 'Best First'.
Re^2: SOAP::WSDL problems
by nyxOne (Initiate) on Nov 14, 2008 at 15:13 UTC
    Hi sm@sh, The WSDL is auto-generated from Axis2.

    I've tried again today to use wsdl2perl. The manual says "Look what has been generated

    Check the results of the generator. There should be one MyInterfaces/SERVICE_NAME/PORT_NAME.pm file per port (and one directory per service).

    Unfortunately it's not my case and (oh shame) i don't understand why!
    I've looked at wsdl2perl options but there is place to specify a default service_name and/or port_name.

    I feel kind of embarrest as i really don't know what i can do to help myself. I've taken a good look to the exemples given, made a couple of search and well... it's still not working!

    If you have any suggestion, i willing to try it!

    Thanks!
    ------
    Chuck