1

Got this error while generating proxy by svcutil:

"Attempting to download metadata from 'net.pipe://localhost/abc.svc' using WS-Metadata Exchange. This URL does not support DISCO."

The service is compiled without error & working fine with http earlier. The wsdl generated is working fine for net.pipe too without problem even after the error while generating proxy with svcutil.

To make sure its generating new files are generated, I deleted all old files & then generate files using svcutil, then use them. It gives same error and also generates files which when used gives no problem while consuming services.

I am just puzzled why this error is there when every thing is working fine.

Pranav Singh
  • 17,079
  • 30
  • 77
  • 104

2 Answers2

1

Pranav,

your mex endpoint is right. When you are using netNamedPipeBinding or netTcpBinding you need to make some settings in services and IIS.

Refer Hosting WCF service with netTcpBinding or netNamedPipeBinding in IIS

Pranav Singh
  • 17,079
  • 30
  • 77
  • 104
Laxmikant
  • 588
  • 4
  • 11
  • that was really useful article +1 for this. I tried but error doesn't stop. What bugs me most is, although there is error in generating proxy but files are generated and when used works successfully as intended. I wish I know why error is occuring. – Pranav Singh Jun 21 '13 at 09:22
1

That is not ERROR message. I would say just INFO, not even WARNING...

I guess you have something like the following config and try to run svcutil on net.pipe.

    <service name="Service" ...>
        <host>
          <baseAddresses>
            <add baseAddress="net.pipe://localhost/" />
          </baseAddresses>
        </host>
        <endpoint address="Service"
                  binding="netNamedPipeBinding"
                  contract="IService" />
        <endpoint address="Service/mex"
                  binding="mexNamedPipeBinding"
                  contract="IMetadataExchange" />
   </service>
   ...
   <serviceMetadata httpGetEnabled="False" />

svcutil will give message like "This URL does not support DISCO" and still successfully generate files

Now you can change serviceMetadata to

    <serviceMetadata httpGetEnabled="True" httpGetUrl="http://localhost:8182/Service/mex" />

and run for example

    svcutil.exe /t:code /l:cpp /ser:Auto http://localhost:8182/Service/mex

It will generate the same client proxy code as running on net.pipe but now with following output...

    Attempting to download metadata from 'http://localhost:8182/Service/mex' using WS-Metadata Exchange or DISCO.
rnd_nr_gen
  • 2,203
  • 3
  • 36
  • 55