datetime format wrong when calling a wcf service

Hi,

I've got a bit of a problem. Since yesterday we are unable to consume a WCF service from our production environment.

We have an Oracle database, which consumes a c# asmx webservice we built ourselves. That webservice itself consumes a .NET wcf service.

One of the input fields to the WCF service is an XS:datetime field. That field now gives us errors.

When we invoke our own webservice from our test oracle environment, everything works fine, but when we invoke the same webservice from our production environment (which worked fine also before yesterday) we get an error from the WCF service stating that the format of the ScheduledDate parameter is wrong "5-Nov-2013 12:39".

I've used wireshark to determine what the call is to our own webservice and both are identical (from test and production). Unfortunately since the WCF is ssl encrypted with a certificate, I cannot read the request to that service.

In the service reference, the field is listed as a DateTime and in the xsd, it's a xs:datetime.

I'm kinda lost right now, does anyone have a clue where I might find the answer.
In a nutshell the soap request from the database appears to be the same, our own webservice is the same in both cases (no distinction between test and production), yet the resulting call to the WCF service seems to be different.

Anyone that could shed some ligth on this will be greatly appreciated.
vabictAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
vabictConnect With a Mentor Author Commented:
apparently we got a wrong error message from the wcf service (which is an external service). The format was right all along, but since the time in our database was off by a couple of minutes, it rejected it because apparently that datetime cannot be in the past.

sorry to have troubled you with this.
Only took us 4 days to figure this out :-)
0
 
slightwv (䄆 Netminder) Commented:
If you think it is a database issue, check the spfile/init parameter nls_date_format between the test and production database.

Connect as SYSTEM or other privileged account and:
show parameter nls_date_format
or
select value from v$parameter where name='nls_date_format';
0
 
vabictAuthor Commented:
both turn up empty. I guess they are set from the session when someone logs on to the db. I've asked our dba about that.

But in any case, it would seem weird, as I've checked the xml coming from the production db and the test db and both are identical soap requests. But from that point on, something seems to change and the call to the wcf service is different.
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
slightwv (䄆 Netminder) Commented:
Then it's likely not a database issue.

Something did change recently:  United States adjusted the time in most places for daylight savings.  Could that be it?
0
 
Geert GOracle dbaCommented:
is it a windows server ?
did it get patched yesterday ?

it's possible with patching that the country setting revert to default american_america
rebooting it again can solve it

or setting the country and date formatting in the control panel/ country settings
0
 
slightwv (䄆 Netminder) Commented:
Feel free to accept your post as the solution in case anyone else ever has this issue.
0
 
deanvanrooyenCommented:
better business exceptions?
0
 
vabictAuthor Commented:
it was a non issue all along, sorry for that. We got a wrong error message back from an external service (and their helpdesk)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.