I wanted to build an awesome place for people to discuss module specific issues, but I don't have any more time for this, and there are much better places to discuss Perl-related issues. I'd recommend asking your question on Stack Overflow or on Perl Monks.
If you are looking for a Perl tutorial or Perl-related news, I hope these links will serve you well.
Posted on 2007-10-18 17:28:07-07 by hembreed
Debuging WSDL
I wrote a wsdl document, based upon the wishlist.wsdl example in "Web Services Progamming With Perl" . Of course, it doesn't work. I tried putting it into Eclipse, as suggested by another poster. It show no errors. I tried the Xmethods site it gives no usefull error message, just says there's no services. Stubmaker.pl generates a boilerplate module, with no methods. I simplified the wsdl to just one operation, but still can't generate a method. Perhaps someone with a keener eye than me can spot the problem?
<?xml version="1.0"?> <definitions name="DynaToolBar" targetNamespace="urn:DynaToolBar" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:DynaToolBar" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <message name="userVote"> <part name="rating" type="xsd:string" /> <part name="userID" type="xsd:string" /> </message> <message name="ackVote"> <part name="ack" type="xsd:boolean" /> </message> <portType name="DynaToolBarPort"> <operation name="placeVote"> <input message="tns:userVote" /> <output message="tns:ackVote" /> </operation> </portType> <binding name="soapI" type="tns:DynaToolBarPort"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="placeVote"> <soap:operation soapAction= "urn:/DynaToolBar#placeVote" /> <input> <soap:body use="encoded" parts="rating" namespace="urn:DynaToolBar" encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" /> <soap:header use="encoded" part="userID" message="tns:userVote" wsdl:required="0" namespace="urn:DynaToolBar" encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output> <soap:body use="encoded" namespace="urn:DynaToolBar" encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation> </binding> <service name="DynaToolBar"> <port name="DynaToolBarPort" binding="tns:soapI"> <soap:address location="http://www.cyberdefender.com/dynatoolbar/DynaToolBar" /> </port> </service> </definitions>
Direct Responses: 6376 | Write a response
Posted on 2007-11-01 05:33:50-07 by saramic in response to 6287
Re: Debuging WSDL
By putting it into eclipse (presumably me) I meant to use the WTP plugins and by right clicking the file and validating it would come up with a few errors. First off:
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap"
should have a '/' at the end
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
Secondly there seems something wrong with the use of
<soap:header ...
can you remove that for initial testing? it was something to do with the "part" attribute and your "encode" rather then "literal", anyway the intricacies are beyond me but hope that gives you a start cheers
Direct Responses: 6384 | Write a response
Posted on 2007-11-03 04:48:47-07 by hembreed in response to 6376
Re: Debuging WSDL
There was something mysterious. I imported the file into Eclipse too. It kept telling me there was an error on line one, but no information as to what the error was. Vi didn't show any unprintables. I finally created a new wsdl file in Eclipse, cut and pasted the same lines from the old page, and the line 1 error disappeared. At that point I put the trailing slash in that you mentioned and I was able to generate methods with stubmaker.pl. The remaining errors don't seem to cause any harm I'm not sure how much to trust Eclipse's error messages when working with the intricacies. The actual page, sans soap:header, is at http://www.cyberdefender.com/dynatoolbar/DynaToolBar.wsdl . Thanks for you help.
Direct Responses: Write a response