当从Windows应用程序中的Process对象执行svcutil时,wsdl doc缺少wsdl:port元素

时间:2012-11-30 11:58:44

标签: wcf wsdl svcutil.exe

由于没有必要进入这个线程的原因,我正在尝试为svcutil创建一个包装器,然后将标准化wsdl&创建的xsd文档指向某些地址。但是,我的一个WCF服务有两个不同的服务合同,一个用于内部处理,一个发布到外部客户端。当我从cmd.exe运行 svcutil / target:metadata serviceAddress.svc 时,我会得到一个包含以下条目的完整wsdl文档:

<wsdl:service name="MyServiceMain">
    <wsdl:port name="BasicHttpBinding_IMyService" binding="tns:BasicHttpBinding_IMyService">
        <soap:address location="MyServiceMain.svc" />
    </wsdl:port>
    <wsdl:port name="BasicHttpBinding_IInternalServiceContract" binding="tns:BasicHttpBinding_IInternalServiceContract">
        <soap:address location="MyServiceMain.svc" />
    </wsdl:port>
</wsdl:service>

但是,如果我使用Process对象(ProcessStartInfo对象设置了相同的环境变量,肯定使用相同版本的svcutil)来运行相同的命令,其中一个wsdl:端口元素神秘地消失了:

<wsdl:service name="MyServiceMain">
    <wsdl:port name="BasicHttpBinding_IMyService" binding="tns:BasicHttpBinding_IMyService">
        <soap:address location="MyServiceMain.svc" />
    </wsdl:port>
</wsdl:service>

任何想法为什么?或者甚至可以指向正确方向的东西,这可能表明发生了不同的事情。因为我现在很难过。

0 个答案:

没有答案