Autor Beitrag
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4420
Erhaltene Danke: 902


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: So 10.09.17 11:42 
Klingt so als hätte der Server ein Problem mit deiner SOAP Anfrage (Endpunkt gibt es nicht, Security/Rechte Problem etc.) und wäre so konfiguriert dir dann ein Fehler Html zu liefern (z.B so eine schicke 404 Seite die hier nicht hilfreich ist). Wenn du dir das Html mal ansiehst sollte der Inhalt Aufschlüsse darüber geben was da schief läuft.

Je nachdem kannst du dazu die Serverseitigen Logs benutzen wenn du da dran kommst und passendes geloggt wird oder das Tracing von WCF benutzen oder du hängst dich mit einem Netzwerktool an die Leitung und beobachtest was da hin und her geschickt wird (z.B. Fiddler).
joshua9 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Mo 18.09.17 10:48 
Hallo ich habe das ganze nochmals von Beginn angeschaut und auch beim SOAP Anbieter nachgefrage.
er hat mir geschrieben das Loging müsse wie folgt aussehen:
ausblenden HTML-Dokument
1:
2:
3:
4:
5:
6:
<web:getText>
  <web:LoginInfo>
    <web:Benutzer>xxxxxxxx</Benutzer>
    <web:Passwort>xxxxxx</Passwort>
  </web:LoginInfo>
</web:getText>


das Login von SOAP sieht wie folgt aus:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
namespace srGetText1
{
    [DebuggerStepThrough]
    [DesignerCategory("code")]
    [GeneratedCode("System.Xml""4.7.2102.0")]
    [XmlType(Namespace = "http://www.muster.com/webservices")]
    public class tlogin : INotifyPropertyChanged
    {
        public tlogin();

        [XmlElement(Order = 0)]
        public string Benutzer { get; set; }
        [XmlElement(Order = 1)]
        public string Passwort { get; set; }

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName);
    }
}


Meine Frage wie muss das tlogin(Element) aufgerufen werden?
Wie muss das Objekt Element aussehen und wie erstelle ich es?
Vielen Dank für die Hilfe
joshua9 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Mi 04.10.17 20:35 
Lösung meines Problems:
Zuletzt hatte ich folgende Fehlermeldung: Der Inhaltstyp "text/html; charset=utf-8" der Antwortnachricht stimmt nicht mit dem Inhaltstyp der Bindung (application/soap+xml; 'charset=utf-8') überein"

Diese Stammt her, dass der SOAP Dienst die Version 1.1 hat und ich im Web.config folgende Einträge hatte:
ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
<system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="wsHttpBinding_clsGetSoap">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <client>
      <endpoint address="https://muster.com/service/v1"
        binding="wsHttpBinding"
        bindingConfiguration="wsHttpBinding_clsGetSoap"
        contract="ServiceReference.clsGetSoap"/>
    </client>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>


Bei der Version 1.1 sollte in der Web.config aber folgende Einträge sein:

ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
 <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_clsGetSoap">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
    <endpoint address="https://muster.com/service/v1"
      binding="basicHttpBinding"
      bindingConfiguration="BasicHttpBinding_clsGetSoap"
      contract="srGetTerris1.clsGetSoap"
      name="BasicHttpBinding_clsGetSoap"/>
    </client>
  </system.serviceModel>