Inhalte aufrufen

Profilbild
- - - - -

Setup Web API

Web API Error 500

  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
6 Antworten zu diesem Thema

#1 BerndFfm

BerndFfm

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 15 December 2015 - 15:13

Hallo,

 

ich möchte per Web API auf den Smartstore zugreifen.

 

Dazu habe ich in Plugins / Plugins verwalten das Plugin "Web API" installiert.

 

Wenn ich nun auf "Konfigurieren" klicke kommt eine leere Liste. Hinzufügen kann ich dort nichts.

 

Es kommt der Fehler "Error! The requested URL returned 500 - Internal Server Error".

 

Wenn ich das auf dem Webserver ausführe kommt eine ausführliche Fehlermeldung, die ist leider aber nicht lesbar (oben abgeschnitten).

 

Wie kann ich die Web API einrichten ? Wie kann ich Benutzer für die Web API einrichten ? Event. per SQL Kommando ?

 

Grüße Bernd

 

 



#2 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 15 December 2015 - 17:34

Separate WebApi-User gibt es nicht. Die WebApi arbeitet mit den bereits existierenden Benutzer- bzw. Kunden-Konten. Um einem Benutzer Zugrifssrechte für die API zu vergeben, muss man Schlüssel erstellen (über Plugins > Plugins verwalten > WebApi: Konfigurieren).

 

Das Plugin listet für gewöhnlich alle bereits vorhandenen User auf. Aber ohne eine genaue Fehlerbeschreibung können wir verständlicherweise keine Diagnose erstellen. Dazu muss das mode-Attribut des customErrors-Tags in der web.config auf Off stehen. Dann kriegst du auch ausführliche Meldungen mit StackTrace.


Murat Cakir
SmartStore AG


#3 BerndFfm

BerndFfm

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 16 December 2015 - 10:17

Hallo,

 

die Änderung in der web.config ändert leider nichts. Der Fehler erscheint in einer roten Box, bei der man nur das Ende lesen kann :

 

...
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +399
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +137

Versionsinformationen: Microsoft .NET Framework-Version:4.0.30319; ASP.NET-Version:4.6.114.0

 

Wenn man die Website im Chrome (Iron) startet und auf Element untersuchen klickt sieht man die Fehlermeldung ungefähr eine Zehntel Sekunde.

 

Sie lautet "Große Objekte [ntext] können in order by Klausel nicht verwendet werden ...".

 

Grüße Bernd



#4 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3805 Beiträge

Geschrieben: 16 December 2015 - 17:45

Bitte mal unter System > Ereignisse nach der vollständigen Fehlermeldung suchen. Wird SQL Server oder SQL Compact Edition verwendet?


Marcus Gesing

Smartstore AG


#5 BerndFfm

BerndFfm

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 17 December 2015 - 12:49

Die Fehlermeldung lautet : Große Objekte ('ntext' und 'image') können in ORDER BY-Klauseln nicht verwendet werden.

 

Die gesamte Fehlermeldung :

Protokollname: Application
Quelle:        ASP.NET 4.0.30319.0
Datum:         17.12.2015 12:42:12
Ereignis-ID:   1309
Aufgabenkategorie:Web Event
Ebene:         Warnung
Schlüsselwörter:Klassisch
Benutzer:      Nicht zutreffend
Computer:      BERND-8
Beschreibung:
Event code: 3005 
Event message: Es ist eine unbehandelte Ausnahme aufgetreten. 
Event time: 17.12.2015 12:42:12 
Event time (UTC): 17.12.2015 11:42:12 
Event ID: 9f8e22d8553f4ad9929a142f1f4bd013 
Event sequence: 6 
Event occurrence: 1 
Event detail code: 0 
 
Application information: 
    Application domain: /LM/W3SVC/2/ROOT-1-130948261018711902 
    Trust level: Full 
    Application Virtual Path: / 
    Application Path: D:\Webseiten\quasarshop\ 
    Machine name: BERND-8 
 
Process information: 
    Process ID: 9072 
    Process name: w3wp.exe 
    Account name: IIS APPPOOL\Quasarshop 
 
Exception information: 
    Exception type: SqlCeException 
    Exception message: Große Objekte ('ntext' und 'image') können in ORDER BY-Klauseln nicht verwendet werden.
   bei System.Data.SqlServerCe.SqlCeCommand.ProcessResults(Int32 hr)
   bei System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
   bei System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)
   bei System.Data.Entity.SqlServerCompact.SqlCeMultiCommand.ExecuteReader(CommandBehavior behavior)
   bei System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   bei System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)

 
 
Request information: 
    Request URL: http://localhost:90/Plugins/SmartStore.WebApi/GridUserData?Namespaces=SmartStore.WebApi.Controllers&7e5d3b06-46c2-46a5-910f-4f15a058c632=System.Web.Mvc.DictionaryValueProvider`1[System.Object]&id=&apiuser-grid-size=25&systemName=SmartStore.WebApi 
    Request path: /Plugins/SmartStore.WebApi/GridUserData 
    User host address: ::1 
    User: uj@go-online.de 
    Is authenticated: True 
    Authentication Type: Forms 
    Thread account name: IIS APPPOOL\Quasarshop 
 
Thread information: 
    Thread ID: 7 
    Thread account name: IIS APPPOOL\Quasarshop 
    Is impersonating: False 
    Stack trace:    bei System.Data.SqlServerCe.SqlCeCommand.ProcessResults(Int32 hr)
   bei System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
   bei System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)
   bei System.Data.Entity.SqlServerCompact.SqlCeMultiCommand.ExecuteReader(CommandBehavior behavior)
   bei System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   bei System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
 
 
Custom event details: 
Ereignis-XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="ASP.NET 4.0.30319.0" />
    <EventID Qualifiers="32768">1309</EventID>
    <Level>3</Level>
    <Task>3</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2015-12-17T11:42:12.000000000Z" />
    <EventRecordID>12401</EventRecordID>
    <Channel>Application</Channel>
    <Computer>BERND-8</Computer>
    <Security />
  </System>
  <EventData>
    <Data>3005</Data>
    <Data>Es ist eine unbehandelte Ausnahme aufgetreten.</Data>
    <Data>17.12.2015 12:42:12</Data>
    <Data>17.12.2015 11:42:12</Data>
    <Data>9f8e22d8553f4ad9929a142f1f4bd013</Data>
    <Data>6</Data>
    <Data>1</Data>
    <Data>0</Data>
    <Data>/LM/W3SVC/2/ROOT-1-130948261018711902</Data>
    <Data>Full</Data>
    <Data>/</Data>
    <Data>D:\Webseiten\quasarshop\</Data>
    <Data>BERND-8</Data>
    <Data>
    </Data>
    <Data>9072</Data>
    <Data>w3wp.exe</Data>
    <Data>IIS APPPOOL\Quasarshop</Data>
    <Data>SqlCeException</Data>
    <Data>Große Objekte ('ntext' und 'image') können in ORDER BY-Klauseln nicht verwendet werden.
   bei System.Data.SqlServerCe.SqlCeCommand.ProcessResults(Int32 hr)
   bei System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
   bei System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)
   bei System.Data.Entity.SqlServerCompact.SqlCeMultiCommand.ExecuteReader(CommandBehavior behavior)
   bei System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   bei System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)

</Data>
    <Data>http://localhost:90/Plugins/SmartStore.WebApi/GridUserData?Namespaces=SmartStore.WebApi.Controllers&amp;7e5d3b06-46c2-46a5-910f-4f15a058c632=System.Web.Mvc.DictionaryValueProvider`1[System.Object]&amp;id=&amp;apiuser-grid-size=25&amp;systemName=SmartStore.WebApi</Data>
    <Data>/Plugins/SmartStore.WebApi/GridUserData</Data>
    <Data>::1</Data>
    <Data>uj@go-online.de</Data>
    <Data>True</Data>
    <Data>Forms</Data>
    <Data>IIS APPPOOL\Quasarshop</Data>
    <Data>7</Data>
    <Data>IIS APPPOOL\Quasarshop</Data>
    <Data>False</Data>
    <Data>   bei System.Data.SqlServerCe.SqlCeCommand.ProcessResults(Int32 hr)
   bei System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
   bei System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)
   bei System.Data.Entity.SqlServerCompact.SqlCeMultiCommand.ExecuteReader(CommandBehavior behavior)
   bei System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   bei System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
</Data>
  </EventData>
</Event>


#6 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3805 Beiträge

Geschrieben: 17 December 2015 - 14:28

Ich würde Ihnen empfehlen von SQL Compact Edition auf SQL Server umzustellen.
 
SQL CE unterstützt keine Sortierungsanweisungen auf Datenfelder vom Typ ntext. Hier das Feld "Value" in der Tabelle "GenericAttribute".
 
Sie könnten versuchen den Typen unter "System > Wartung > SQL-Abfrage ausführen" mit folgender Anweisung zu ändern
ALTER TABLE [GenericAttribute] ALTER COLUMN [Value] [nvarchar](4000) NULL
Müsste SQL CE meines Wissens so unterstützen.
 

Marcus Gesing

Smartstore AG


#7 BerndFfm

BerndFfm

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 29 December 2015 - 09:55

Hallo,

 

nach Umstellung auf den SQL Server klappt es nun.

 

Der Kollege hatte das installiert. ich hätte sofort den richtigen SQL Server genommen. ;-)

 

Beim Ausführen eines SQL-Befehls bei dem SQL Compact kommt eine Fehlermeldung. Es fehlt wohl eine DLL oder man muss den SQL Compact 4.0 nochmal per Setup installieren. Wir brauchen das nun aber nicht mehr.

 

Danke für die Hilfe !

 

Grüße Bernd