Question: TLDR; look at last paragrap.

A developer from our partner software company needs to call our WCF (**basic http binding**) service, and he asked us to turn it to asmx for themselves, cause he has trouble with calling it from Oracle. WCF service is being used on different platforms (.net, java, php) with no error. 

His code gives him **Status code: 500 - Internal Server Error**. I assume its about sending wrong soap format or content.

So i learned you should use **utl\_dbws** instead of **utl\_http** as that developer did.

Ok, this seemed an easy task to me first. Find a working code sample from internet and send a e-mail like "Hi fellow developer friend you should use utl\_dbws package not utl\_http and the sample code at this link".

I'm not the only person in the world that needs to do this, right ?

Weird but i couldn't find any sample approved working piece of code that accomplishes calling a WCF service from Oracle.

Here is some of link i found about it;

<https://forums.oracle.com/forums/thread.jspa?threadID=2354357>
<https://forums.oracle.com/forums/thread.jspa?threadID=1071996>
<http://steveracanovic.blogspot.com/2008/10/using-utldbws-package-to-call-web.html>
<https://forums.oracle.com/forums/thread.jspa?messageID=4205205&tstart=0#4205205>  

<http://www.oracle-base.com/articles/10g/utl_dbws-10g.php>

Noone writes any working code example or noone tells that this is not possible.

I would appreciate if anyone had a working code example that calling a WCF service from Oracle.

Answer: 
I also had this annoying problem.

Some browsers return the computed position if the element is visible at the moment. The trick is to hide it, read the css and then make it visible again (if was not already hidden).

I wrote a convenient function that takes care of this and will return `auto` in Firefox.

[**jsFiddle**](http://jsfiddle.net/UEyxD/19/)

```
var getCss = function($elem, prop) {
        var wasVisible = $elem.css('display') !== 'none';
        try {
            return $elem.hide().css(prop);
        } finally {
            if (wasVisible) $elem.show();
        }
    };

alert( getCss($('div'), 'top') );

```

The `finally` is just to bring visibility back to the element, just before the function returns.

You should use this function only for situations where you expect `auto` to be returned.
Just remove the `position` style and you will get `auto` instead of computed value.

```
div {
    top: auto;
    bottom:20px;    
    right:20px;
    left:0px;
}

```

you can test it [here](http://jsfiddle.net/UEyxD/16/).