Использование Soapsuds.exe при удаленном взаимодействии

Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью  Windows Communication Foundation (WCF).

Средство Soapsuds.exe позволяет создать сборку или исходный код, содержащие метаданные, которые необходимы для вызова удаленного объекта.

xse48s01.note(ru-ru,VS.100).gifПримечание
Средство Soapsuds.exe работает только с удаленными объектами, использующими канал HttpChannel.

Чтобы создать сборку, введите команду следующего вида:

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -oa:MyProxy.dll

Здесь удаленный объект размещен на компьютере SomeServer, а URL-адрес объекта имеет вид MyObject.rem. Заметьте, что в конец URL-адреса добавляется ?wsdl. Оно является обязательным, чтобы средство Soapsuds.exe могло работать. После этого можно ссылаться на созданный файл MyProxy.dll в клиентском приложении.

Чтобы создать исходный код, введите команду следующего вида:

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -gc

Здесь удаленный объект размещен на компьютере SomeServer, а URL-адрес объекта имеет вид MyObject.rem. Заметьте, что в конец URL-адреса добавляется ?wsdl. Оно является обязательным, чтобы средство Soapsuds.exe могло работать. Созданный файл Server.cs можно добавлять в проект приложения. Дополнительное преимущество заключается в том, что теперь не нужно распространять с клиентским приложением отдельную прокси-сборку.

Независимо от типа вывода (сборка или исходный код), средство Soapsuds.exe по умолчанию создает прокси с оболочкой. Прокси с оболочкой — это класс, наследуемый от RemotingClientProxy. URL-адрес удаленного объекта жестко задан в коде этого производного класса. Кроме того, в командной строке можно указать параметр -nowp, чтобы создавать прокси без оболочки. Класс, создаваемый для прокси без оболочки, является пустым классом. Различие между прокси с оболочкой и без оболочки можно понять, если дважды создать исходный код удаленного объекта — сначала с параметром -nowp, а затем без него (проследите за тем, чтобы второй файл CS имел другое имя, иначе он перезапишет первый файл при повторном запуске средства Soapsuds.exe). Необходимо создавать прокси без оболочки, поскольку URL-адрес удаленного объекта не должен жестко задаваться в коде.

Дополнительные сведения о параметрах командной строки средства Soapsuds.exe см. в разделе Soapsuds Tool (Soapsuds.exe).

См. также

Другие ресурсы

Расширенное удаленное взаимодействие