Thread

Posted on Thu Oct 18 20:28:07 2007 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 Thu Nov 1 07:33:50 2007 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 Sat Nov 3 06:48:47 2007 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.
Write a response