Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema bezieht sich auf eine veraltete Technologie, die zum Zwecke der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten wird und nicht für die neue Entwicklung empfohlen wird. Verteilte Anwendungen sollten jetzt mit Windows Communication Foundation (WCF) entwickelt werden.
Sie können mit Soapsuds.exe eine Assembly oder einen Quellcode generieren, die bzw. der die für den Aufruf eines Remoteobjekts erforderlichen Metadaten enthält.
Hinweis: |
|---|
| Soapsuds.exe kann nur für Remoteobjekte eingesetzt werden, die die HttpChannel-Klasse verwenden. |
Um eine Assembly zu generieren, geben Sie einen Befehl wie den Folgenden ein:
soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -oa:MyProxy.dll
Das Remoteobjekt befindet sich dabei auf einem Computer namens SomeServer, und die URL des Objekts lautet MyObject.rem. Beachten Sie, dass ?wsdl am Ende der URL hinzugefügt wurde. Dies ist erforderlich, damit Soapsuds.exe funktioniert. Dann fügen Sie in die Clientanwendung einen Verweis auf die generierte Datei MyProxy.dll ein.
Um Quellcode zu generieren, geben Sie einen Befehl wie den Folgenden ein:
soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -gc
Das Remoteobjekt befindet sich dabei auf einem Computer namens SomeServer, und die URL des Objekts lautet MyObject.rem. Beachten Sie, dass ?wsdl am Ende der URL hinzugefügt wurde. Dies ist erforderlich, damit Soapsuds.exe funktioniert. Sie können dann die generierte Datei Server.cs hinzufügen und sie dem Clientanwendungsprojekt hinzufügen. Dies bringt den zusätzlichen Vorteil, dass mit der Clientanwendung keine separate Proxyassembly ausgeliefert werden muss.
Unabhängig vom Typ der Ausgabe (Assembly oder Quellcode) erzeugt Soapsuds.exe standardmäßig einen sogenannten Wrapper-Proxy. Der Wrapper-Proxy ist eine von RemotingClientProxy abgeleitete Klasse. Die URL für das Remoteobjekt ist in dieser abgeleiteten Klasse festcodiert. Alternativ können Sie in der Befehlszeile -nowp angeben, um einen Proxy zu generieren, der kein Wrapper-Proxy ist. Für einen Proxy, der kein Wrapper-Proxy ist, wird eine leere Klasse generiert. Die Unterschiede zwischen einem Wrapper-Proxy und einem anderen Proxy werden deutlich, wenn Sie den Quellcode für ein Remoteobjekt einmal unter Angabe von -nowp und einmal ohne diese Angabe generieren. (Stellen Sie sicher, dass Sie die erzeugte CS-Datei umbenennen, da sie sonst bei der erneuten Ausführung von Soapsuds.exe überschrieben wird.) Sie müssen Nicht-Wrapper-Proxys generieren, da die URL für das Remoteobjekt nicht hartcodiert sein sollte.
Weitere Informationen zu den Befehlszeilenoptionen von soapsuds.exe finden Sie unter Soapsuds Tool (Soapsuds.exe).
Hinweis: