Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 968
  • Last Modified:

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.
0
vabict
Asked:
vabict
1 Solution
 
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
 
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
Fill in the form and get your FREE NFR key NOW!

Veeam is happy to provide a FREE NFR server license to certified engineers, trainers, and bloggers.  It allows for the non‑production use of Veeam Agent for Microsoft Windows. This license is valid for five workstations and two servers.

 
Geert GruwezOracle 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
 
vabictAuthor 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:
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

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now