# Nube soap::mapping::object question

**URL:** <https://www.ruby-forum.com/t/nube-soap-object-question/106954>\
**Category:** Ruby\
**Created:** [June 15, 2007, 5:31pm UTC](https://www.ruby-forum.com/t/nube-soap-object-question/106954 "2007-06-15T17:31:22Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bradrover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/b9bd4f/32.png) [@bradrover](https://www.ruby-forum.com/u/bradrover)\
**Post date:** [June 15, 2007, 5:31pm UTC](https://www.ruby-forum.com/t/nube-soap-object-question/106954/1 "2007-06-15T17:31:22Z")

</div>

I’ve been banging my head against the wall on this problem. I have a  
soap::mapping::object result from a web service call, and all is well  
except there are some XML elements in the response that are empty.  
When I output these values in a UI (puts, etc) the value for those  
elements always says something like #soap::mapping::object::0x...

How can I test this value to see if its an empty element before I  
output it ? Is there a more elegant way to handle this than doing a  
check for this particular string literal ? I didn’t see any methods on  
soap::mapping::object to determine if it has a text element or not.

---

<div class="post-metadata">

**Author:** ![bradrover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/b9bd4f/32.png) [@bradrover](https://www.ruby-forum.com/u/bradrover)\
**Post date:** [June 16, 2007, 11:33am UTC](https://www.ruby-forum.com/t/nube-soap-object-question/106954/2 "2007-06-16T11:33:17Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Hi,

bradrover wrote:

> I’ve been banging my head against the wall on this problem. I have a  
> soap::mapping::object result from a web service call, and all is well  
> except there are some XML elements in the response that are empty.  
> When I output these values in a UI (puts, etc) the value for those  
> elements always says something like #soap::mapping::object::0x...

Can you show me a sample response XML? I don’t understand ‘empty  
element’.

irb(main):001:0\> require ‘xsd/mapping’  
=\> true  
irb(main):002:0\> xml = \<\< **XML**  
irb(main):003:0"   
irb(main):004:0"   
irb(main):005:0" qux  
irb(main):006:0"   
irb(main):007:0" **XML**  
=\> “\n \n qux\n\n”  
irb(main):008:0\> obj = XSD::Mapping.xml2obj(xml)  
=\> #\<SOAP::Mapping::Object:0x…fdbd9b682 {}bar="" {}baz=“qux”\>  
irb(main):009:0\> obj.bar  
=\> “”  
irb(main):010:0\> obj.baz  
=\> “qux”

Is the above ‘bar’ empty? Do you mean an ommitted element?

> output it ? Is there a more elegant way to handle this than doing a  
> check for this particular string literal ? I didn’t see any methods on  
> soap::mapping::object to determine if it has a text element or not.

Sometimes generating stub files with wsdl2ruby.rb is of help. Generated  
Driver can use type information while parsing XML to help extracting  
values from it.

Regards,  
// NaHi

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.2.1 (Cygwin)

iQEVAwUBRnOt4h9L2jg5EEGlAQIJ8QgAnqBqN/Q0ijMA8fGhe74JM5VTtRY9q+3+  
PUNimT2tLhX9BAYb++Uw93+klTgHI/itziJNj72k9uO5+WSBcYqjIkKgnRd4xOyF  
W2MosTBH0X4LvFmijkvIwN89kGflQkoghS3IgX7Fl8trf0LM8clrhZzeFz/JtGRf  
AX/+xRaphu19Lj6BZ9vP7FSefr89RsoXHutKbjL7dlK16Ds9zucYuX/iFXbv/X3Z  
6ypbCuYZxU1c/1AF7Dlq6Jhzy/Dda0JTzNYCdeFCtgxzYBF0TIgyCV2TlbMywCoe  
xN+z12qFFR47EB77vLGXkAvXuVrQKjPdkzBBQahte/3G1bkivrz3lg==  
=92kR  
-----END PGP SIGNATURE-----
