Our development environment includes a web service MOM that uses WSE 3.0 to provide security, but I discovered from the MSDN forums that Visual Studio 2008 does not have built-in support for WSE like 2005 did. There are a couple of different workarounds, but the cleanest approach seems to be using the WSDL to Proxy Class Tool (wsewsdl3.exe) included with the WSE 3.0 tools – default location: C:\Program Files\Microsoft WSE\v3.0\Tools
I used the following command to generate a proxy class from a WSDL file in the same directory (you can also pass a URL):
wsewsdl3 MyService.wsdl /language:VB /namespace:MyCoolSvc /type:webClient
The /type specifies which class to inherit from. Check out the MSDN documentation for additional details.
Note, that our environment uses a CustomPolicyAssertion to authenticate the request:
Dim cpa As New MyCompany.Web.Services.CustomPolicyAssertion
Dim p As New Microsoft.Web.Services3.Design.Policy
Dim wscp As New Microsoft.Web.Services3.WebServicesClientProtocol
p.Assertions.Add(cpa)
wscp.SetPolicy(p)
wscp.RequestSoapContext.Add("StdUser", "MyApp")
No comments:
Post a Comment