eui = EndUserIdentifier.new(some_value) - not sure what value is 
intended, but your service definition should tell you that?


I found that there are a lot of improvements in the latest Subversion 
code over the last release. This is especially true with Document 
Literal service support. So, you might want to try that.

The other thing I found using SOAP4R is that the wsdl2ruby didn't always 
behave well. I used the xsd2ruby to generate classes, but then used 
those classes in some manually constructed code.

soap = 
SOAP::WSDLDriverFactory.new('http://example.com/services/ContactsService?WSDL').create_rpc_driver
soap.generate_explicit_type = true
soap.wiredump_dev = STDOUT if $DEBUG
result = soap.GetContacts(ContactsRequest.new())
result.contacts.each { |c| print_contact(c) }


The soap.wiredump_dev = STDOUT will print out all of the SOAP messages 
to standard output which is really nice for debugging.

haakon tullerusk wrote:
> Hi!
> 
> I used wsdl2ruby to generate classes and methods.
> But I have a broblem with one of the methods and its arguments
> 
> method in driver.rb:
> 
> class EndUserIdentifier
>   @@schema_type = "EndUserIdentifier"
>   @@schema_ns = "http://www.csapi.org/schema/parlayx/common/v1_0"
>   @@schema_element = [["value", ["SOAP::SOAPAnyURI", XSD::QName.new(nil, 
> "value")]]]
> 
>   attr_accessor :value
> 
>   def initialize(value = nil)
>     @value = value
>   end
> end
> _______________________________________________________________
> 
> method in defaltDriver.rb
> Methods = [
>     [ XSD::QName.new("http://www.csapi.org/wsdl/parlayx/sms/v1.0", 
> "sendSms"),
>       "",
>       "sendSms",
>       [ ["in", "destinationAddressSet", ["EndUserIdentifier[]", 
> "http://www.csapi.org/schema/parlayx/common/v1_0", 
> "EndUserIdentifier"]],
>         ["in", "senderName", ["::SOAP::SOAPString"]],
>         ["in", "charging", ["::SOAP::SOAPString"]],
>         ["in", "message", ["::SOAP::SOAPString"]],
>         ["retval", "result", ["::SOAP::SOAPString"]] ],
>       { :request_style =>  :rpc, :request_use =>  :encoded,
>         :response_style => :rpc, :response_use => :encoded }
>     ],
> ____________________________________________________
> 
> this is my client.rb file
> 
> smswsdl = 'http://x.x.x.x/parlayx/services/SendSmsPort'
> obj2 = SendSmsPort.new(smswsdl)
> 
> #sendSms (EndUserIdentifier[] destinationAddressSet, String senderName, 
> String charging, String message, out String requestIdentifier)
> 
> smsId =(???, 'some_nr', 'some_string', 'some_message')
> )
> I want to run the sendSms method but I get error from the server
> 
> #<SOAP::Mapping::Object:0x2bf6868>: java.lang.IllegalArgumentException: 
> java.lan
> g.ClassCastException@d8a125 (SOAP::FaultError)
> 
> How to I create a new EndUserIdentifier object?
> Any help will be greatly appreciated.
> --haakon
> 


-- 
Geoff Lane <geoff / zorched.net>