Need help with disco in csharp

G

Gary C

Greetings,
I have been working on this problem for over a week and I cant find
any resource or person who has been able to help. I am hoping there is
a developer out here that may have run into a similar problem.

I am having a problem in Visual Studio 2003 using disco.exe to
generate a proxy class for my csharp program.
I can't share all of the data openly but here is the basics: I am
running disco to generate the proxy class.
---
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin>disco /
o:"C:\Source\Application\Web References\WSValidate"
http://ServerName:7400/CustomWSDLRequest?userName=AppUser

Microsoft (R) Web Services Discovery Utility
[Microsoft (R) .NET Framework, Version 1.1.4322.573]
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.

Disco found documents at the following URLs:
http://ServerName/SharedResources/Schemas/Container/Public/InquireCustomerResponse.xsd
http://ServerName/SharedResources/Schemas/Container/Public/InquireDeviceRequest.xsd
http://ServerName/SharedResources/Schemas/Container/Public/GenericAsyncResponse.xsd
http://ServerName/SharedResources/Schemas/Container/Public/EchoResponse.xsd
http://ServerName/CustomWSDLRequest?userName=AppUSer
http://ServerName/SharedResources/Schemas/Container/Public/InquireCustomerRequest.xsd
http://ServerName/SharedResources/Schemas/Container/Public/SoapFaultDetails.xsd
http://ServerName/SharedResources/Schemas/Container/Public/RequestAcknowledgement.xsd
http://ServerName/SharedResources/Schemas/Container/Public/InquireDeviceResponse.xsd
http://ServerName/SharedResources/Schemas/Container/Public/EchoRequest.xsd
http://ServerName/SharedResources/Schemas/Types/Public/OurDataModel.xsd
http://ServerName/SharedResources/Schemas/Container/Public/MessageHeader.xsd
http://ServerName/SharedResources/Schemas/Container/Public/GenericAsyncRequest.xsd

The following files hold the content found at the corresponding URLs:
ERROR: Object reference not set to an instance of an object.

If you would like more help, please type "disco /?".
---

The error tells me this is a problem with a NULL Object assignment.
Right? but the log before it tells me that it is FINDING the WSDL and
the referenced XSD's. So where is the empty object coming from?

If I use disco.exe from dotNet 2.0 THIS WORKS. (but it generates
csharp 2005 code which is not compatible with 2003 (obviously) and I
am maintaining code written in csharp 2003 with the dotnet 1.1
framework)

Has this happened to anyone else?

I have tried:

1) manually locating the WSDL and XSD's and they are all available via
an IE browser.
2) re-install of Visual Studio .net 2003
3) using disco.exe from dotNet 2.0 (THIS WORKS)
4) removing ALL dotnet runtimes and SDKs and reinstalling JUST dotnet
v1.1
5) massive amounts of research on the net.
There aren't any special characters in any of the paths
There aren't any errors on loading the WSDL or XSD's
I have full permissions to the local files as an Admin

I am a pretty seasoned developer but I am fairly new to dotnet and
csharp. Can anyone help me???
I am at a loss. this may be something simple. I am open to any
suggestions at this point.

Thank you,
Gary C
 
G

Gregory A. Beamer

I am a pretty seasoned developer but I am fairly new to dotnet and
csharp. Can anyone help me???
I am at a loss. this may be something simple. I am open to any
suggestions at this point.

If you are trying to create proxies, there is a tool called wsdl.exe. It will
only work with one wsdl file at a time, of course.
http://msdn.microsoft.com/en-us/library/7h3ystb6(VS.71).aspx

If WSDL.EXE fails, then the services in question are most likely using
features not available for 1.1, which means, more than likely, you will have
to do one of the following:

1. hand-build the proxy classes. Ouch!
2. Save a copy of the WSDL and excise the non supported features

Hope this helps.

Peace and Grace,


--
Gregory A. Beamer (MVP)

Twitter: @gbworld
Blog: http://gregorybeamer.spaces.live.com

*******************************************
| Think outside the box! |
*******************************************
 
G

Gary C

If you are trying to create proxies, there is a tool called wsdl.exe. It will
only work with one wsdl file at a time, of course.http://msdn.microsoft.com/en-us/library/7h3ystb6(VS.71).aspx

If WSDL.EXE fails, then the services in question are most likely using
features not available for 1.1, which means, more than likely, you will have
to do one of the following:

1. hand-build the proxy classes. Ouch!
2. Save a copy of the WSDL and excise the non supported features

Hope this helps.

Peace and Grace,

--
Gregory A. Beamer (MVP)

Twitter: @gbworld
Blog:http://gregorybeamer.spaces.live.com

*******************************************
|      Think outside the box!             |
*******************************************

Thanks for the assistance.

Here is what I found based on your advice and some more investigating:
Version 1.x of dotnet does not support otherwise good schemas with re-
occurring target namespaces within the schema set.
(see link: http://blogs.msdn.com/donsmith/archive/2005/01/06/347497.aspx
)

There is and was no plans to fix this issue in 1.x but this is
resolved in 2.x. This is why we don’t have this issue in the 2.x tests
that I ran.

I do not know if there is a way to make a 1.1 application use 2.x but
that is my next move. Otherwise I don't know how to get around this
issue.

Any other thoughts anyone?

Thank you for all your help.

Gary C
Twitter: @garyc_guru
 
P

Peter Duniho

Gary said:
[...]
I do not know if there is a way to make a 1.1 application use 2.x but
that is my next move. Otherwise I don't know how to get around this
issue.

Assuming your project is not actually marked as "1.1 only", then on a
system without 1.1 installed, it should just use whatever .NET version
is there (actually, if not marked as "1.1. only" it might use the latest
version installed regardless...I forget the details of the version
compatibility handling).

Pete
 
G

Gary C

Gary said:
[...]
I do not know if there is a way to make a 1.1 application use 2.x but
that is my next move. Otherwise I don't know how to get around this
issue.

Assuming your project is not actually marked as "1.1 only", then on a
system without 1.1 installed, it should just use whatever .NET version
is there (actually, if not marked as "1.1. only" it might use the latest
version installed regardless...I forget the details of the version
compatibility handling).

Pete

Thanks Pete,

The only issue with letting the server use what ever is installed is
that there are functions that the wsdl is set to auto refresh. My fear
is that this might generate a proxy class with 2.x methods that are
not compatible with the 1.1 code in place.

My next step is to do a project conversion that would update the
dotNet to 2.x

While opening this project with a newer version of Vis Studio (like
the 2008 I own)
The project goes through a convert process that gets most of the
methods.
There are a few I need to do manually.

I appreciate it greatly.

Gary C
Twitter: @garyc_guru
 
P

Paul

I think you need to be clearer.

Are you using .Net1.1 created web services which are using .net2 created
dll's or the other way around?

Gary C said:
Greetings,
I have been working on this problem for over a week and I cant find
any resource or person who has been able to help. I am hoping there is
a developer out here that may have run into a similar problem.

I am having a problem in Visual Studio 2003 using disco.exe to
generate a proxy class for my csharp program.
I can't share all of the data openly but here is the basics: I am
running disco to generate the proxy class.
---
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin>disco /
o:"C:\Source\Application\Web References\WSValidate"
http://ServerName:7400/CustomWSDLRequest?userName=AppUser

Microsoft (R) Web Services Discovery Utility
[Microsoft (R) .NET Framework, Version 1.1.4322.573]
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.

Disco found documents at the following URLs:
http://ServerName/SharedResources/Schemas/Container/Public/InquireCustomerResponse.xsd
http://ServerName/SharedResources/Schemas/Container/Public/InquireDeviceRequest.xsd
http://ServerName/SharedResources/Schemas/Container/Public/GenericAsyncResponse.xsd
http://ServerName/SharedResources/Schemas/Container/Public/EchoResponse.xsd
http://ServerName/CustomWSDLRequest?userName=AppUSer
http://ServerName/SharedResources/Schemas/Container/Public/InquireCustomerRequest.xsd
http://ServerName/SharedResources/Schemas/Container/Public/SoapFaultDetails.xsd
http://ServerName/SharedResources/Schemas/Container/Public/RequestAcknowledgement.xsd
http://ServerName/SharedResources/Schemas/Container/Public/InquireDeviceResponse.xsd
http://ServerName/SharedResources/Schemas/Container/Public/EchoRequest.xsd
http://ServerName/SharedResources/Schemas/Types/Public/OurDataModel.xsd
http://ServerName/SharedResources/Schemas/Container/Public/MessageHeader.xsd
http://ServerName/SharedResources/Schemas/Container/Public/GenericAsyncRequest.xsd

The following files hold the content found at the corresponding URLs:
ERROR: Object reference not set to an instance of an object.

If you would like more help, please type "disco /?".
---

The error tells me this is a problem with a NULL Object assignment.
Right? but the log before it tells me that it is FINDING the WSDL and
the referenced XSD's. So where is the empty object coming from?

If I use disco.exe from dotNet 2.0 THIS WORKS. (but it generates
csharp 2005 code which is not compatible with 2003 (obviously) and I
am maintaining code written in csharp 2003 with the dotnet 1.1
framework)

Has this happened to anyone else?

I have tried:

1) manually locating the WSDL and XSD's and they are all available via
an IE browser.
2) re-install of Visual Studio .net 2003
3) using disco.exe from dotNet 2.0 (THIS WORKS)
4) removing ALL dotnet runtimes and SDKs and reinstalling JUST dotnet
v1.1
5) massive amounts of research on the net.
There aren't any special characters in any of the paths
There aren't any errors on loading the WSDL or XSD's
I have full permissions to the local files as an Admin

I am a pretty seasoned developer but I am fairly new to dotnet and
csharp. Can anyone help me???
I am at a loss. this may be something simple. I am open to any
suggestions at this point.

Thank you,
Gary C
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top