In der Handler-Konfiguration der httpservice_cfg.xml unter dem Knoten Handler muss ein oder mehrere Soap-Handler konfiguriert werden um verscheidene Funktionen als Soap-Dienst anzubieten.
Die jeweiligen WSDL-Dateien lassen sich dann über die Url {UrlDesService}\{page}\{ServiceName}.wsdl abfragen. http://localhost:4401/shop/Preisermittlung.wsdl
Analog kann auch die DiscoveryPage über Url {UrlDesService}\{page}.disco abgerufen werden. http://localhost:4401/shop.disco
Eine Beispielhafte Konfiguration sieht so aus:
<SoapRequestHandler name="Shop" page="shop" active="true" basicAuth="LOGON32_LOGON_NETWORK" ADGroup="GlbAbtEntwicklung" implicitNamespace="true" namespace="sogerp" >
<Service name="Terminermittlung" type="SOG.ERP.Modules.SOGWebServices.Soap.ShopSoapRequest" asm="SOG.ERP.Modules.SOGWebServices" />
<Service name="Auftragsverarbeitung" type="SOG.ERP.Modules.SOGWebServices.Soap.ShopSoapRequest" asm="SOG.ERP.Modules.SOGWebServices" />
<Service name="Preisermittlung" type="SOG.ERP.Modules.SOGWebServices.Soap.ShopSoapRequest" asm="SOG.ERP.Modules.SOGWebServices" />
<Service name="Kundenanmeldung" type="SOG.ERP.Modules.SOGWebServices.Soap.ShopSoapRequest" asm="SOG.ERP.Modules.SOGWebServices" />
<Service name="TerminPreisAuskunft" type="SOG.ERP.Modules.SOGWebServices.Soap.Shop.ShopAuskunftSoapRequest" asm="SOG.ERP.Modules.SOGWebServices" /
</SoapRequestHandler>
SoapRequestHandler
SoapRequestHandler-Attribute:
Dieser kann frei gewählt sein. Er muss allerdings einzigartig sein.
Das ist die Seite auf die der Handler aufsetzt. Genauer gesagt die im hhtpservice_cfg.xml konfigurierten Uris (Uniform Ressource Identifier) werden um page ergänzt.
Ist eine der uri "http://sog.de:4401/" und die page "shop" dann reagiert der handler auf Anfragen an http://sog.de:4401/shop
Ist ein einfacher Schalter mit gesteuert werden kann ob der Handler momentan aktiv ist.
Optionales Attribut. Legt fest, gegen welches Passwort Basic-Authentifizierung (Klarschrift-Authentifizierung) geprüft werden soll. Definieren Sie hier "sach" wenn gegen ein SOG ERP-Sachbearbeiterkennwort geprüft werden soll. (Sachbearbeiterkennwörter hinterlegen Sie mit sogerpconsole.exe -setachpwd). Hinterlegen Sie "LOGON32_LOGON_NETWORK", wenn gegen ein Windows-Kennwort geprüft werden soll. Achtung: In diesem Fall werden Windows-Kennworte im Klartext über das Netzwerk übermittelt. Ist der Wert nicht gesetzt, wird keine basic-Authentifizierung akzeptiert.
Optionales Attribut. Dieser Wert wird für die WSDL-Generierung benötigt und gibt an, an welche Adresse Anfragen geschickt werden müssen.
Dies ist erforderlich, wenn der Webservice nicht von Außen erreichbar ist, sondern Anfragen über einen Proxy an die Lokale Adresse umgeleitet erhält. Dann wird die Lokale-Adresse durch die requestURL ersetzt.
Haben Sie keine requestUrl angegeben, wird die erste festgelegte URI verwendet. Beispiel: requestUrl="http://localhost:4401/"
Optionales Attribut. Definieren Sie hier eine ActiveDirectory-Gruppe, wenn Requests gegen diese Gruppe geprüft werden sollen. Ist hier einen Gruppe angegeben, und der authentifizierte Benutzer gehört nicht dieser Gruppe an, wird der Request zurückgewiesen. Ist der Service mit einer ADGroup abgesichert, kann er nicht verwendet werden, wenn sich die aktuelle Session nicht authentifiziert hat.
Optionales Attribut. Standardmäßig false. Ist der Wert auf true gesetzt, werden Anfragen ohne Namespace-Angabe akzeptiert.
Optionales Attribut. Angabe eines Namespaces unter dem alle Dienste des Handlers zusammen gefasst werden.
Service
Der SoapRequestHandler kann 1..n Services besitzen.
Service-Attribute:
Name des Services, dieser ist der Aufrufname, z.b. Auftragsbuchung => http://sog.de:4401/shop/Auftragsbuchung
Hier muss der Typ der Klasse angegeben werden, der die Funktionalität dieses Services implementiert.
Die Assembly in der sich der Type des Services befindet.
Optionales Attribut. Funktionen können sich über Rechte absichern. Mit diesem Schalter können Sie die Prüfung dieses Rechtes abschalten. true: Recht wird geprüft (Initialwert).
Optionales Attribut. Wenn gesetzt, erhält der angegebene Sachbearbeiter eine Aufgabe, sobald ein Fehler in diesem Service entsteht.
Optionales Attribut. Wenn gesetzt, erhält der angegebene Sachbearbeiter eine EMail, sobald ein Fehler in diesem Service entsteht.
Optionales Attribut. Wenn gesetzt, erhält der angegebene Sachbearbeiter eine XMessage, sobald ein Fehler in diesem Service entsteht.
Optionales Attribut. Wenn nicht angegeben entspricht es dem Wert true. Steuert ob bei der Antwort leere Tags unterdrückt werden sollen.
Dies betrifft auch komplexe Datentypen.