SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




ext. WebService - SP Eventhandler Konfigurationsproblem

Unbeantwortet Dieser Beitrag hat 0 Antworten

Ohne Rang
1 Beiträge
Joachim Hohls erstellt 8 Okt. 2010 11:00
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich gleiche Daten eines Drittsystems über einen Webservice mit Sharepoint ab (Windows-Anwendung triggert den Webservice, dieser aktualisiert ein ListItem in Sharepoint).

Wenn nun die Aktualisierung des Sharepoint-Items durch einen registrierten EventHandler im OnUpdating ihrerseits wieder einen externen Webservice lostreten soll, habe ich das Problem, dass der in der web.config von Sharepoint eingerichtete Webservice nicht gefunden wird, weil der Kontext offensichtlich die web.config meines WebServices verwendet.

Wohlgemerkt: wenn ich das Item direkt in Sharepoint edtiere, funktioniert der Webservice-Aufruf!

Hier der Code, um im Sharepoint EventHandler den Webservice zu instanziieren:

        public static MyWebService.MyConnectorSoapClient GetWebService()
        {
            MyWebService.MyConnectorSoapClient svc = null;
            try
            {
                String strWebServiceUrl = "";
                try
                {
                    // hier werden bereits statt der Sharepoint appSettings die appSettings meines Webservices angezeigt!
                    strWebServiceUrl = System.Configuration.ConfigurationManager.AppSettings["MyWebServiceUrl"].ToString();
                }
                catch (Exception)
                {
                }

                if (!String.IsNullOrEmpty(strWebServiceUrl))
                {
                    svc = new MyWebService.MyConnectorSoapClient("MyWebServiceEndpoint", strWebServiceUrl);
                }
                else
                {
                    // hier schlägt das Anlegen des WebserviceClients fehl, weil die Konfiguration "MyWebServiceEndpoint" nicht gefunden wird.
                    svc = new aXcWebService.aXcConnectorSoapClient("MyWebServiceEndpoint");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return svc;
        }

Hier die Konfiguration in der Sharepoint web.config:

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpEndpointBinding" receiveTimeout="00:20:00" sendTimeout="00:20:00">
          <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Windows" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <behaviors>
      <endpointBehaviors>
        <behavior name="MyWebServiceBehaviour">
          <clientCredentials>
            <windows allowNtlm="true" allowedImpersonationLevel="Impersonation" />
            <httpDigest impersonationLevel="Impersonation" />
          </clientCredentials>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <client>
      <endpoint binding="basicHttpBinding" bindingConfiguration="BasicHttpEndpointBinding" contract="MyWebService.MyConnectorSoap" behaviorConfiguration="MyWebServiceBehaviour" name="MyWebServiceEndpoint">
      </endpoint>
    </client>
  </system.serviceModel>
  <appSettings>
    <add key="MyWebServiceUrl" value="http://myserver:8081/MyWebServices.asmx" />
  </appSettings>

Und hier die Fehlermeldung:

 

Exception: Could not find endpoint element with name 'aXcWebServiceEndpoint' and contract 'MyWebService.MyConnectorSoap' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this name could be found in the client element.

Eventuell weiss hier jemand, was ich falsch mache?

Vielen Dank!

Joachim