T
Tim Perrett
Hey all
I have been trying to consume a .NET exposed web-service with soap4r and
have found some things that might help others when doing the same thing
Oddly, soap4r interprted the following WSDL
<s:element name="GetAllProperties">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="inUsername"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="inPassword"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="inAccountID"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
As only having the one paramater, inAccountID. So to get around this and
pass all three params as a struct object like this:
soap = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
Request = Struct.newinAccountID, :inUsername, :inPassword)
soap.GetAllProperties(Request.new('2', 'test', 'test'))
And as its a .NET WS, i had to employ the following also:
soap.default_encodingstyle = SOAP::EncodingStyle::ASPDotNetHandler.new
Hope this helps somone
Tim
I have been trying to consume a .NET exposed web-service with soap4r and
have found some things that might help others when doing the same thing
Oddly, soap4r interprted the following WSDL
<s:element name="GetAllProperties">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="inUsername"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="inPassword"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="inAccountID"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
As only having the one paramater, inAccountID. So to get around this and
pass all three params as a struct object like this:
soap = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
Request = Struct.newinAccountID, :inUsername, :inPassword)
soap.GetAllProperties(Request.new('2', 'test', 'test'))
And as its a .NET WS, i had to employ the following also:
soap.default_encodingstyle = SOAP::EncodingStyle::ASPDotNetHandler.new
Hope this helps somone
Tim