65.9K
CodeProject is changing. Read more.
Home

Generate .NET 2.0 C# proxy file from a JBOSS Web Service

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0 vote)

Jun 13, 2007

CPOL
viewsIcon

42261

downloadIcon

224

Solve the problem of failing to update a WebService after upgrading to NET 2.0 using VS2005 (using JBOSS).

Screenshot - screenshot.jpg

Introduction

I had a problem when converting my application from VS2003 to VS 2005: Failed to update the Web Service - got an error indicating bad schema format.

Background

This class provides a solution for the .NET 2.0 WSDL - JBOSS problem: When converting a web project from .NET 1.1 to .NET 2.0 and trying to update a Web Service that is connected to a WSDL on a JBOSS service, an error is raised. This util uses WSDL.exe of .NET 1.1 to generate and update the proxy class file.

Using the Code

Execute the application, enter the parameters as described, and click "Execute". The result is a new C# proxy class file, in the destination folder that you entered before execution.

The following code shows how to use WSDL.exe as an external util:

//Declare and instantiate a new process component.
System.Diagnostics.Process process1;
process1 = new System.Diagnostics.Process();
try
{
    //Do not receive an event when the process exits.
    process1.EnableRaisingEvents = false;
    process1.StartInfo.FileName = "wsdl.exe";
    process1.StartInfo.WorkingDirectory = wsdlCommandPath;
    process1.StartInfo.Arguments = "/n:" + nameSpace + @" /out:" + 
                                   generatedFileName+ " " + wsdlFilePath;

    process1.StartInfo.UseShellExecute = false;
    process1.StartInfo.RedirectStandardError = true;
    process1.StartInfo.RedirectStandardOutput = true;

    process1.Start();
    string output = process1.StandardOutput.ReadToEnd();
    txtOutput.Text = output;

    string outputErr = process1.StandardError.ReadToEnd();
    if (outputErr != "") 
    txtError.Text = outputErr;

}
finally
{
    process1.Close();
}

Points of Interest

I can't help wonder why Microsoft can't make the conversion go smoothly. Why?