Hee-hee--"I feel your pain" as they say.
Here's my script:
require "soap/wsdlDriver"
WSGUID = "39AC29C5-68BB-4678-BD6D-6486FA277544"
WSDL_URL =
"
http://ctrhs-devnet/pardre1/MailException/ExceptionMailer.asmx?wsdl"
proxobj = SOAP::WSDLDriverFactory.new(WSDL_URL).create_rpc_driver
proxobj.sendGeneralMessageRPC("(e-mail address removed)", "subject: sent from
script", "this was sent from a ruby script.", WSGUID)
Which, when submitted results in:
c:/ruby/lib/ruby/1.8/wsdl/operation.rb:67:in `outputparts': undefined
method `find_message' for nil:NilClass (NoMethodError)
from c:/ruby/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:72:in
`collect_documentparameter'
from c:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:132:in `create_param_def'
from c:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:101:in `add_operation'
from c:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:96:in `each'
from c:/ruby/lib/ruby/1.8/xsd/namedelements.rb:57:in `each'
from c:/ruby/lib/ruby/1.8/xsd/namedelements.rb:57:in `each'
from c:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:96:in `add_operation'
from c:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:40:in `create_rpc_driver'
from C:/Documents and Settings/pardre1/Desktop/DelMe.rb:5
Here is the WSDL (hopefully this will come through--I'm posting via
google groups)
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s1="
http://microsoft.com/wsdl/types/"
xmlns:http="
http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="
http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="
http://tempuri.org/MailException/ExceptionMailer"
xmlns:tm="
http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="
http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="
http://tempuri.org/MailException/ExceptionMailer"
xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified"
targetNamespace="
http://tempuri.org/MailException/ExceptionMailer">
<s:import namespace="
http://microsoft.com/wsdl/types/" />
<s:element name="Send">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="User"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Machine"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
name="ExceptionString" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="recipient"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="AppName"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="SendGeneralMessage">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="recipients"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="subject"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="body"
type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="key"
type="s1:guid" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
<s:schema elementFormDefault="qualified"
targetNamespace="
http://microsoft.com/wsdl/types/">
<s:simpleType name="guid">
<s:restriction base="s:string">
<s
attern
value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"
/>
</s:restriction>
</s:simpleType>
</s:schema>
</wsdl:types>
<wsdl:message name="SendSoapIn">
<wsdl
art name="parameters" element="tns:Send" />
</wsdl:message>
<wsdl:message name="SendGeneralMessageSoapIn">
<wsdl
art name="parameters" element="tns:SendGeneralMessage" />
</wsdl:message>
<wsdl:message name="SendGeneralMessageRPCSoapIn">
<wsdl
art name="recipients" type="s:string" />
<wsdl
art name="subject" type="s:string" />
<wsdl
art name="body" type="s:string" />
<wsdl
art name="key" type="s:string" />
</wsdl:message>
<wsdl:message name="SendGeneralMessageRPCSoapOut" />
<wsdl
ortType name="ExceptionMailerSoap">
<wsdl
peration name="Send">
<wsdl:input message="tns:SendSoapIn" />
</wsdl
peration>
<wsdl
peration name="SendGeneralMessage">
<wsdl:input message="tns:SendGeneralMessageSoapIn" />
</wsdl
peration>
<wsdl
peration name="SendGeneralMessageRPC">
<wsdl:input message="tns:SendGeneralMessageRPCSoapIn" />
<wsdl
utput message="tns:SendGeneralMessageRPCSoapOut" />
</wsdl
peration>
</wsdl
ortType>
<wsdl:binding name="ExceptionMailerSoap"
type="tns:ExceptionMailerSoap">
<soap:binding transport="
http://schemas.xmlsoap.org/soap/http"
style="document" />
<wsdl
peration name="Send">
<soap
peration
soapAction="
http://tempuri.org/MailException/ExceptionMailer/Send"
style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl
peration>
<wsdl
peration name="SendGeneralMessage">
<soap
peration
soapAction="
http://tempuri.org/MailException/ExceptionMailer/SendGeneralMessage"
style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl
peration>
<wsdl
peration name="SendGeneralMessageRPC">
<soap
peration
soapAction="
http://tempuri.org/MailException/ExceptionMailer/SendGeneralMessageRPC"
style="rpc" />
<wsdl:input>
<soap:body use="encoded"
namespace="
http://tempuri.org/MailException/ExceptionMailer"
encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl
utput>
<soap:body use="encoded"
namespace="
http://tempuri.org/MailException/ExceptionMailer"
encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl
utput>
</wsdl
peration>
</wsdl:binding>
<wsdl:service name="ExceptionMailer">
<documentation xmlns="
http://schemas.xmlsoap.org/wsdl/" />
<wsdl
ort name="ExceptionMailerSoap"
binding="tns:ExceptionMailerSoap">
<soap:address
location="
http://ctrhs-devnet/pardre1/MailException/ExceptionMailer.asmx"
/>
</wsdl
ort>
</wsdl:service>
</wsdl:definitions>