Hate to reply to my own question, but I've learned something about what was going wrong. Instead, I have a new question. On May 29, 2004, at 5:55 PM, I wrote: > I'm trying to use wsdlDriver.rb to call a Web service. I have a WSDL > file. When I run my script, it connects to the Web service, calls the > operation I specify ("approve"), and receives the response string. > However, it doesn't put the response string into the message part that > the operation "approve" uses as its output message. Instead, it tries > to find something called "approveResponse", which is not described in > the WSDL file. I see the following error: > > c:/ruby/lib/ruby/1.8/wsdl/soap/complexType.rb:69:in > `child_defined_complextype': Cannot find > {http://www.w3.org/2001/XMLSchema}string as a children of > {http://loans.org/wsdl/loan-approval}approveResponse. (RuntimeError) > from c:/ruby/lib/ruby/1.8/soap/encodingstyle/soapHandler.rb:382:in > `decode_tag_by_wsdl' > ... It turns out that the WSDL didn't match the reply from the server. The reply body is <ns1:approveResponse soapenv:encodingStyle="..." xmlns:ns1="..."> <xsd:string>approved</xsd:string> </ns1:approveResponse> Now, the WSDL for the reply message used to be <message name="approvalMessage"> <part name="accept" type="xsd:string"/> </message> so I tried changing that to <message name="approvalMessage"> <part name="approveResponse" type="xsd:string"/> </message> but that didn't work. I saw the same error message ("can't find string as child of approveResponse"). So I tried <message name="approvalMessage"> <part name="string" type="xsd:string"/> </message> and it worked! Now I need to figure out why I have to call the part "string". Does anyone know what is going on here? Thanks for your help. Jim -- Jim Menard, jimm / io.com, http://www.io.com/~jimm/ "Dvorak users of the world flgkd!" -- Kirsten Chevalier in rec.humor.oracle.d