Web Service Layer

For users or potential users.
Post Reply
DrDRH
Posts: 14
Joined: Thu Oct 18, 2007 10:13 am

Web Service Layer

Post by DrDRH » Sat Dec 05, 2009 12:41 pm

Is the Web Service Layer stable at this point? Does it speed up VPN data transfer between remote locations? Is is a cook-book setup or does it require an IT person to configure? Anyone using the WSL successfully? Any comments? Thanks.

User avatar
jordansparks
Site Admin
Posts: 5742
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Web Service Layer

Post by jordansparks » Sat Dec 05, 2009 3:03 pm

Yes, for version 6.8. The problem is that it's new, so we're the only ones testing it. Therefore, it is hard to find all the bugs, and the early adopters will have to put up with discovering bugs. The bugs are really really obvious and we can fix them quickly when they are reported to us.
Jordan Sparks, DMD
http://www.opendental.com

DrDRH
Posts: 14
Joined: Thu Oct 18, 2007 10:13 am

Re: Web Service Layer

Post by DrDRH » Tue Dec 08, 2009 8:25 am

How about the VPN question. do we need to have a vpn tunnel between offices for the web layer to work securely?
does it use ssl?
can we have a local server at the satellite office, accessing the database at the main location realtime and clients at the satellite using the db?

On another note, if we do not use web service, can we replicate real time from primary office to satellite offices?

thank you so much for your assistance

User avatar
jordansparks
Site Admin
Posts: 5742
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Web Service Layer

Post by jordansparks » Tue Dec 08, 2009 3:35 pm

VPN is probably best. You could also probably use https without any problem, but we wouldn't be able to help advise you on how. Both methods use ssl which is completely external to Open Dental. If you are using the web service, you have to stick to one server.

Replication between two servers is a totally different strategy than the web service. Replication works great. Nice and fast. Near real-time for new data from one server showing up on the other server. Maybe a 1 to 20 second delay depending on what replication software you use.
Jordan Sparks, DMD
http://www.opendental.com

User avatar
Ardavan
Posts: 106
Joined: Sat May 15, 2010 9:10 am

Re: Web Service Layer

Post by Ardavan » Sat May 15, 2010 9:26 am

hello all,

setup the web service on lan as instructed, works well when reading, however crashes on certain write functions. tried using root as the db user but still experiencing same issues. has anybody in the field successfully used the web service? if so do you have any tips or tricks? thank you.

Ardy
There are 10 types of people in this world, those who will laugh at this joke, and those who won't. ~Annonymous Bug Writer

User avatar
jordansparks
Site Admin
Posts: 5742
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Web Service Layer

Post by jordansparks » Sat May 15, 2010 10:57 am

Which certain write functions? Which specific version?
Jordan Sparks, DMD
http://www.opendental.com

User avatar
Ardavan
Posts: 106
Joined: Sat May 15, 2010 9:10 am

Re: Web Service Layer

Post by Ardavan » Sun May 23, 2010 4:16 pm

Thank you Dr. Sparks for the reply, i understand you're a very busy guy so ill keep it brief.

we are on version 7.0.11.0

i am playing around with it now, i was able to chart, add an appointment, and add a patient but it crashed when i attempted to delete the appointment.

we are currently using terminal services, but it would be nice to have other options that won't bog down our server once we have more terminal users.

thanks again for the reply, and i look forward to reading the next.
There are 10 types of people in this world, those who will laugh at this joke, and those who won't. ~Annonymous Bug Writer

User avatar
jordansparks
Site Admin
Posts: 5742
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Web Service Layer

Post by jordansparks » Sun May 23, 2010 4:42 pm

Just upgrade to 7.0.32. Should work much better. If you think you find a bug, test it with both the web service and direct connection. You know it's a bug if it behaves differently depending on the connection method.
Jordan Sparks, DMD
http://www.opendental.com

User avatar
Ardavan
Posts: 106
Joined: Sat May 15, 2010 9:10 am

Re: Web Service Layer

Post by Ardavan » Wed Aug 20, 2014 6:16 pm

What is the correct procedure to report a bug?
We are now on 14.2 and again experimenting with the web service layer. When connected through the web service layer we consistently get an unhanded exception when changing the appointment status. Ignoring the exception seems safe, however it is annoying and scary to the team. And by the way awesome work, I love opendental more than any business software I've ever supported or worked with, it rocks!

User avatar
jsalmon
Posts: 1553
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Web Service Layer

Post by jsalmon » Wed Aug 20, 2014 8:01 pm

The forum is a fine place to submit bug reports. Sometimes they can spawn lengthy discussions of their own so I'd recommend starting a new thread for each bug in the Developers forum. I've created a ticket for our debugging department to look into the issue you mentioned above.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

jwhitney
Posts: 33
Joined: Tue Jul 01, 2014 9:52 am

Re: Web Service Layer

Post by jwhitney » Thu Aug 21, 2014 7:49 am

I haven't been able to get the unhandled exception that you are talking about, and I have been rigorously changing appointment statuses all over the place. If you could let us know specifically how you are able to consistently get the exception, it will speed up the process of fixing this issue.
In order to understand recursion you must first understand recursion.

Josh Whitney
Open Dental Software
1-503-363-5432
http://www.opendental.com

User avatar
jsalmon
Posts: 1553
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Web Service Layer

Post by jsalmon » Thu Aug 21, 2014 9:01 am

Give us the exception text as well. Also, are you using any plugins? The middle tier doesn't work with plugins until v14.3:
Plugins now supported in Middle Tier.
http://opendental.com/manual/version14_3.html
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
Ardavan
Posts: 106
Joined: Sat May 15, 2010 9:10 am

Re: Web Service Layer

Post by Ardavan » Thu Sep 18, 2014 9:42 pm

Thank you J and J for the prompt replies. Just to reiterate we are consistently causing an unhandled exception by clicking on an item from the appointment status listbox within the main appointments screen when connected via the web service. The exception does not occur when changing the appointment status from the edit appointment modal window, nor does it occur when connected directly (not using the web service layer). I am not sure where to check for plugins, if it's "Program Links" then there are only two enabled, X-Charge and Teisia Bridge, however the exception occurs even after disabling the plugins and relaunching open dental. The exception does not occur if a patient is not selected when the appointment status listbox is clicked. The exception carries the same title as the OpenDental program, "TitleText {username} - LNAME, FNAME - patnum", without the quotation marks and with actual values rather than placeholders of course. It is of type "Object reference not set to an instance of an object" and the details are pasted below. Despite throwing an exception the field is updated within the database and that update may be seen by navigating away from then back to the main appointments screen.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Exception: Object reference not set to an instance of an object.
at OpenDentBusiness.RemotingClient.ProcessGetVoid(DtoGetVoid dto)
at OpenDentBusiness.Meth.GetVoid(MethodBase methodBase, Object[] parameters)
at OpenDentBusiness.Appointments.SetConfirmed(Int64 aptNum, Int64 newStatus)
at OpenDental.ContrAppt.listConfirmed_MouseDown(Object sender, MouseEventArgs e)
at System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ListBox.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34014 built by: FX45W81RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
OpenDental
Assembly Version: 14.1.21.0
Win32 Version: 14.1.21.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/OpenDental.exe
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34003 built by: FX45W81RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
CodeBase
Assembly Version: 7.1.0.0
Win32 Version: 7.1.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/CodeBase.DLL
----------------------------------------
OpenDentBusiness
Assembly Version: 14.1.21.0
Win32 Version: 14.1.21.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/OpenDentBusiness.DLL
----------------------------------------
NHunspell
Assembly Version: 0.9.6.0
Win32 Version: 0.9.6.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/NHunspell.DLL
----------------------------------------
SparksToothChart
Assembly Version: 4.7.1.0
Win32 Version: 4.7.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/SparksToothChart.DLL
----------------------------------------
Microsoft.DirectX.Direct3D
Assembly Version: 1.0.2902.0
Win32 Version: 9.05.132.0000
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/Microsoft.DirectX.Direct3D.DLL
----------------------------------------
xImageDeviceManager
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/xImageDeviceManager.DLL
----------------------------------------
SigPlusNET
Assembly Version: 1.1.4050.24928
Win32 Version:
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/SigPlusNET.DLL
----------------------------------------
msvcm90
Assembly Version: 9.0.30729.8387
Win32 Version: 9.00.30729.8387
CodeBase: file:///C:/Windows/WinSxS/x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_5094ca96bcb6b2bb/msvcm90.dll
----------------------------------------
System.Web.Services
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Web.Services/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
OpenDental.XmlSerializers
Assembly Version: 14.1.21.0
Win32 Version: 14.1.21.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/OpenDental.XmlSerializers.DLL
----------------------------------------
AxInterop.AcroPDFLib
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/AxInterop.AcroPDFLib.DLL
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
CDT
Assembly Version: 13.3.7.0
Win32 Version: 13.3.7.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/CDT.DLL
----------------------------------------
OpenDentBusiness.XmlSerializers
Assembly Version: 14.1.21.0
Win32 Version: 14.1.21.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/OpenDentBusiness.XmlSerializers.DLL
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Ionic.Zip
Assembly Version: 1.9.1.4
Win32 Version: 1.9.1.4
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/Ionic.Zip.DLL
----------------------------------------
Tao.OpenGl
Assembly Version: 2.1.0.4
Win32 Version: 2.1.0.4
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/Tao.OpenGl.DLL
----------------------------------------
Tao.Platform.Windows
Assembly Version: 1.0.0.4
Win32 Version: 1.0.0.4
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/Tao.Platform.Windows.DLL
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

User avatar
jsalmon
Posts: 1553
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Web Service Layer

Post by jsalmon » Fri Sep 19, 2014 10:37 am

Thank you for the exception text and information, I see where the bug is now. I'll add it to our bug tracker as soon as I can figure out how exactly to describe what exactly is going wrong.

Somehow something has set the list of plugins to null which is causing a problem when Plugins.HookAddCode() gets called (which is a lot). This problem occurs even if no plugins are installed so that is what makes it hard to describe for the bug tracker. I want to put the root of the issue along with your appointment status portion as part of the description, not all this plugin jargon that isn't going to help anybody.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
jsalmon
Posts: 1553
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Web Service Layer

Post by jsalmon » Fri Sep 19, 2014 11:33 am

Bug "Middle tier, changing the status of an appointment from the Appts module was causing an error." fixed and will be released with v14.1.24 and v14.2.30
http://opendentalsoft.com:1942/ODBugTra ... sions.aspx
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

Post Reply