Gemini Community Support Site

This Gemini community support site can be used to find solutions to product issues. You can log in using Open Id, Google Profile and even Facebook. Feel free to ask a question or browse FAQs and documentation. Product tour videos are also available along with how-to videos demonstrating key Gemini capabilities.




Deleting/updating won't work

api

I'm getting the next error when updating/deleting things, adding is working. ERROR: '--' is an unexpected token. The expected token is '>'. Line 81, position 5.

I enabled all Verbs on *.ashx And I don't use Windows logins.

How to fix?

TomV
· 1
TomV
Replies (14)
helpful
0
not helpful

Please check that WebDav is not part of your site. Usually this is the issue.
Check that WebDav is not in the module list and handlers.


Saar Cohen
· 5000
Saar Cohen
helpful
0
not helpful

WebDav was indeed enabled so we disabled it. But still the same error :(


TomV
· 1
TomV
helpful
0
not helpful

Please send an emaill to support at countersoft dot com. We will remote in to see if we can solve the issue.


Mark Wing
· 9108
Mark Wing
helpful
0
not helpful

I am having a similar problem.  I am using the API sample app with version 3.7.1.  From the sample app, I did a get on an issue, change some text and clicked update.  I get the same behavior in my own app when I try to update an issue.

System.Xml.XmlException was unhandled
  Message="'>' is an unexpected token. The expected token is '\"' or '''. Line 1, position 55."
  Source="System.Xml"
  LineNumber=1
  LinePosition=55
  StackTrace:
       at System.Xml.XmlTextReaderImpl.Throw(Exception e)
       at System.Xml.XmlTextReaderImpl.DtdParserProxy.System.Xml.IDtdParserAdapter.Throw(Exception e)
       at System.Xml.DtdParser.Throw(Int32 curPos, String res, String[] args)
       at System.Xml.DtdParser.ThrowUnexpectedToken(Int32 pos, String expectedToken1, String expectedToken2)
       at System.Xml.DtdParser.ParseExternalId(Token idTokenType, Token declType, String& publicId, String& systemId)
       at System.Xml.DtdParser.ParseInDocumentDtd(Boolean saveInternalSubset)
       at System.Xml.DtdParser.Parse(Boolean saveInternalSubset)
       at System.Xml.XmlTextReaderImpl.DtdParserProxy.Parse(Boolean saveInternalSubset)
       at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()
       at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
       at System.Xml.XmlTextReaderImpl.Read()
       at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
       at System.Xml.XmlDocument.Load(XmlReader reader)
       at System.Xml.XmlDocument.Load(Stream inStream)
       at CounterSoft.Gemini.Commons.Rest.Serializer.ConvertToObject[T](Stream stream)
       at CounterSoft.Gemini.WebServices.BaseService.GetObjectFromResponse[T](Stream stream)
       at CounterSoft.Gemini.WebServices.BaseService.ThrowResponseException(WebResponse response)
       at CounterSoft.Gemini.WebServices.BaseService.ProcessResponse[T](String url, Object obj, RequestType requestType)
       at CounterSoft.Gemini.WebServices.BaseService.GetResponse[T](String url, Object o, RequestType r)
       at CounterSoft.Gemini.WebServices.IssuesService.UpdateIssue(IssueEN issue)
       at CounterSoft.Gemini.Services.Samples.FormIssue.btnUpdateIssueClick(Object sender, EventArgs e) in C:\Documents and Settings\pierre.boudreau\My Documents\Downloads\CounterSoftGeminiAPISamplesv371\FormIssue.cs:line 383
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.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.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.UnsafeNativeMethods.SendMessage(HandleRef hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
       at System.Windows.Forms.Control.SendMessage(Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.Control.ReflectMessageInternal(IntPtr hWnd, Message& m)
       at System.Windows.Forms.Control.WmCommand(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at System.Windows.Forms.ContainerControl.WndProc(Message& m)
       at System.Windows.Forms.Form.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.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
       at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
       at System.Windows.Forms.Control.DefWndProc(Message& m)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.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.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.Run(Form mainForm)
       at CounterSoft.Gemini.Services.Samples.FormMain.Main() in C:\Documents and Settings\pierre.boudreau\My Documents\Downloads\CounterSoft
GeminiAPISamplesv371\FormMain.cs:line 177
       at System.AppDomain.
nExecuteAssembly(Assembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException:


pierre.boudreau
· 1
pierre.boudreau
helpful
0
not helpful

Please make sure that you have enabled all verbs in IIS for the ASHX file handler for the Gemini site.


Saar Cohen
· 5000
Saar Cohen
helpful
0
not helpful

We just did a GotoMeeting with Tom and he's stuff is all OK!

Pierre, in the first instance can you run this test app and report back?

http://www.countersoft.com/downloads\v37\countersoft.gemini.api.test.zip


Harvey Kandola
· 212
Harvey Kandola
helpful
0
not helpful

Yes, and again, thank you very much

The problem was that "server" hadn't enabled all verbs but the gemini-site did. So the server wouldn't pass them through to the gemini-part.


TomV
· 1
TomV
helpful
0
not helpful

Hi,

Just noticing this response now after a bit of a delay.  I'm still having the same problem.  I tried the test app and after I login and click run, I get a popup saying "Object reference not set to an instance of an object.".  I see PASS for HTTP GET and HTTP POST and nothing for PUT and DELETE.  I'm guessing this means I still don't have all verbs enabled properly...


pierre.boudreau
· 1
pierre.boudreau
helpful
0
not helpful

It's probably because you have WebDav enabled on the site, remove it.


Mark Wing
· 9108
Mark Wing
helpful
0
not helpful

WebDav is marked as prohibited in Web Service Extensions on the server.  Is that what you mean by "remove it" or is there something else?


pierre.boudreau
· 1
pierre.boudreau
helpful
0
not helpful

Is it possible to use Fiddler (http://www.fiddler2.com/fiddler2/) to check the response from the server when you get this error?


Mark Wing
· 9108
Mark Wing
helpful
0
not helpful

It looks like a permission issue.  We are using Windows authentication.  I got my domain user added to the Administrators group on the server and it's working fine for me now.  I obviously don't want to put all users in the Administrators group.  Are there any additional permissions that users need to have in order to use the API to update issues?

I'll need to figure out how to get fiddler to decrypt the messages for it to be useful.  This is only happening on our production server which uses https.

Pierre


pierre.boudreau
· 1
pierre.boudreau
helpful
0
not helpful

Please try and give (everyone) permissions on the api folder only.


Mark Wing
· 9108
Mark Wing
helpful
0
not helpful

All users already had read, list and execute permissions on the api folder.  I added Write permission for the user that needed it and it resolved the problem.  Seems strange that a user would need to write to the api folder...  but it works now and the change seems relatively harmless...  I think...

Thanks


pierre.boudreau
· 1
pierre.boudreau