Solved

datetime format wrong when calling a wcf service

Posted on 2013-11-05
8
919 Views
Last Modified: 2016-02-26
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
Comment
Question by:vabict
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 77

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39625648
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
 

Author Comment

by:vabict
ID: 39625678
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
 
LVL 77

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39625897
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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 38

Expert Comment

by:Geert Gruwez
ID: 39626554
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
 

Accepted Solution

by:
vabict earned 0 total points
ID: 39628608
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
 
LVL 77

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39628620
Feel free to accept your post as the solution in case anyone else ever has this issue.
0
 
LVL 12

Expert Comment

by:deanvanrooyen
ID: 39632174
better business exceptions?
0
 

Author Closing Comment

by:vabict
ID: 39638314
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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
When it comes to protecting Oracle Database servers and systems, there are a ton of myths out there. Here are the most common.
Via a live example, show how to take different types of Oracle backups using RMAN.
This video shows how to Export data from an Oracle database using the Original Export Utility.  The corresponding Import utility, which works the same way is referenced, but not demonstrated.

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question