Webservice funktioniert nicht mehr (CC)

2. August 2011 12:19

Guten Tag,

habe ein Problem mit meinem Webservices (Freigegeben über einen Application Server) haben erst funktioniert und jetzt nachdem ich sie mit aktuelleren Fobs verwende kommt beim einbinden immer folgender Fehler:

Folgender Code wird im "Webverweis hinzufügen" Menü im Visual Studi 2008 angezeigt:

Code:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="urn:microsoft-dynamics-schemas/error">a:Micr


Im Fenster in dem man normal die Methoden des Webdienstes sieht wird folgendes angezeigt:

Code:
Die XML-Seite kann nicht angezeigt werden
Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später.
--------------------------------------------------------------------------------
Ein XML-Dokument muss ein Element der obersten Ebene enthalten. Fehler beim Bearbeiten der Ressource 'res://ieframe.dll/htt...


In der Ereignisanzeige auf dem Application Server kommt folgender fehler:

Code:
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="MicrosoftDynamicsNAVServer" />
  <EventID Qualifiers="0">0</EventID>
  <Level>2</Level>
  <Task>0</Task>
  <Keywords>0x80000000000000</Keywords>
  <TimeCreated SystemTime="2011-08-02T10:11:14.000000000Z" />
  <EventRecordID>1595</EventRecordID>
  <Channel>Application</Channel>
  <Computer>ApplicationSrv.*.local</Computer>
  <Security />
  </System>
- <EventData>
  <Data>Service: User: Type: Microsoft.Dynamics.Nav.Service.WebServices.ServiceBrokerException Message: Service "Services/$metadata" was not found! StackTrace: bei Microsoft.Dynamics.Nav.Service.WebServices.UrlParser.ParseUrlPart(String theUrlPart) bei Microsoft.Dynamics.Nav.Service.WebServices.UrlParser..ctor(String urlPart) bei Microsoft.Dynamics.Nav.Service.WebServices.ServiceBroker.Invoke(Boolean isSoapMessage, String serviceName, Uri url, XmlReader input, TextWriter output, String sid) bei Microsoft.Dynamics.Nav.Service.WebServices.NavWebService.<>c__DisplayClass3.<>c__DisplayClass5.<ProcessMessage>b__1() bei Microsoft.Dynamics.Nav.Service.WebServices.Disposer.Scope(Code code) bei Microsoft.Dynamics.Nav.Service.WebServices.NavWebService.<>c__DisplayClass3.<ProcessMessage>b__0(StreamWriter streamWriter) bei Microsoft.Dynamics.Nav.Service.WebServices.WCFUtil.GetPopulatedMemoryStream(StreamFillingCallback callback) bei Microsoft.Dynamics.Nav.Service.WebServices.NavWebService.ProcessMessage(Message message) bei SyncInvokeProcessMessage(Object , Object[] , Object[] ) bei System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) bei System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) bei System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) Source: Microsoft.Dynamics.Nav.Service.WebServices</Data>
  </EventData>
  </Event>


Habe schon versucht alles neu zu kompilieren, aber hat nichts genutzt. Könnt ihr mir helfen?

MfG

Magon

PS: Ausserdem ist im Browser eine Fehlermeldung gekommen wenn ich auf "http://IP:7047/Dienstname/WS" gegangen bin die lautete so:

Code:
- <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
- <s:Body>
- <s:Fault>
  <faultcode xmlns:a="urn:microsoft-dynamics-schemas/error">a:System.ArgumentOutOfRangeException</faultcode>
  <faultstring xml:lang="de-DE">startIndex darf nicht länger als die Länge der Zeichenfolge sein. Parametername: startIndex</faultstring>
- <detail>
  <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">startIndex darf nicht länger als die Länge der Zeichenfolge sein. Parametername: startIndex</string>
  </detail>
  </s:Fault>
  </s:Body>
  </s:Envelope>
Zuletzt geändert von Magon am 5. August 2011 08:58, insgesamt 1-mal geändert.

Re: Webservice funktioniert nicht mehr (CC)

2. August 2011 12:30

Magon hat geschrieben:PS: Ausserdem ist im Browser eine Fehlermeldung gekommen wenn ich auf "http://IP:7047/Dienstname/WS" gegangen bin die lautete so:


Verwende als erstes mal den FQDN statt der IP-Adresse und schau dann mal ob es geht.

Volker

Re: Webservice funktioniert nicht mehr (CC)

2. August 2011 12:40

HTTP 400 Die Webseite wurde nicht gefunden.

Muss aber dazu sagen dass das mit dem Namen auch nicht funktioniert hat als die Dienste noch funktioniert haben

Re: Webservice funktioniert nicht mehr (CC)

2. August 2011 17:32

Hi,


Kontrollier von dem Objekt die Paramater der Funktionen. Ich vermute da ist was unzulässiges.



Gruß
Aydin

Re: Webservice funktioniert nicht mehr (CC)

3. August 2011 08:50

Guten Morgen,

welches Objekt meinst du? Die Eigenschaften vom Dienst im Regedit?

Habe eine neue Datenbank und einen neuen Dienst erstellt, der Fehler besteht weiterhin (habe in Form 810 noch nichts freigegeben) beim SystemService in VS einbinden steht wieder

Code:
Fehler beim Downloaden von 'http://192.168.0.20:7047/DevDemo64/WS/SystemService'.
Fehler bei der Anforderung mit folgender Fehlermeldung:
--
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="urn:microsoft-dynamics-schemas/error">a:Microsoft.Dynam


mfg


(Wie muss ich die start und Typeparameter in Regedit setzen? Bei mir steht da Start 3, Type 32?


EDIT: Gerade noch im ereignisprotokoll gefunden:

Code:
Service: MicrosoftDynamicsNavWS$DevDemo64 SQL-Abfragebenachrichtigungen sind auf SQL Server 'SQL-DEVELOPER01' in der Datenbank 'DevDemo64' nicht verfügbar. Der Objektänderungslistener wurde in den Abrufmodus geschaltet

Re: Webservice funktioniert nicht mehr (CC)

3. August 2011 10:05

HI Magon,


ich meinte das (NAV) Objekt, dass du für den Webservice freigegeben hast.

Du hast doch gesagt, dass es vorher funktioniert hat, oder habe ich dich falsch verstanden?
Zuletzt geändert von aydina81 am 3. August 2011 10:08, insgesamt 3-mal geändert.

Re: Webservice funktioniert nicht mehr (CC)

3. August 2011 10:07

Achso! Habe schon verschiedene freigegeben, Momentan einfach eine Codeunit (neu erstellt, nur eine Rückgabe). Aber es funktioniert nicht. Bin schon am verzweifeln :/

Re: Webservice funktioniert nicht mehr (CC)

3. August 2011 10:08

Hi,


Hast du dabei auch die CustomSettings.config angepasst?
- Portnummer : 7047?
- Datenbank?
- ServcerIntance: DynamicsNAV (Standardwert). Bei dir seteht "DevDemo64"

Re: Webservice funktioniert nicht mehr (CC)

3. August 2011 10:12

Hi, danke für deine schnellen Antworten

Ja hab ich alles angepasst, DynamicsNAV habe ich geändert aber das muss ich ja dann auch noch im Link ändern und dann passt es oder? Hat zumidnest zuvor funktioniert.

EDIT: Wenn ich es auf "http://server:7047/DynamicsNAV/WS/Services" setze (auch in der config) kommt er selbe fehler :/

Re: Webservice funktioniert nicht mehr (CC)

3. August 2011 12:00

Habe Visual Studio auf dem Application Server installiert, dort kann ich den Webdienst einbinden!

Re: Webservice funktioniert nicht mehr (CC)

3. August 2011 14:03

Hi Magon,


ist es dann ein Berechtigungsproblem?

Kenne deine Architektur nicht, also Client ---> Service Tier (Webservice) ----> Datenbank.


Gruß
Aydin

Re: Webservice funktioniert nicht mehr (CC)

5. August 2011 09:08

Welche berechtigungen muss ich wo haben?

Habe alles schon mit dem Admin Account getestet.


Neue erkenntnis: Die Webdienste Funktionieren wenn man sie auf dem eigenen Rechner verwendet, übers Netzwerk nicht.

Firewallausnahmen für die beiden Ports sind vorhanden

Re: Webservice funktioniert nicht mehr (CC)

5. August 2011 13:22

Hi Magon,


ich kenne diese Probleme auch:-)

Also wenn der Webservice und die Datenbank auf einem seperaten gleichen Server laufen, dann hatte ich den Webservice als lokales Systemkonto am Laufen.

Wenn alle drei komponenten (Client ---> Webservice ----> Database) auf unterscheidlichen Rechnern laufen, dann musst eine Delegierung für jeden User ertellen.

Dazu ein Link:
http://msdn.microsoft.com/en-us/library/dd301254.aspx

Wie es konkret geht weiß ich leider nicht:-(


Ich hoffe, damit kommst du etwas weiter....

Gruß
Aydin