2012-03-30 21 views
0

我的WCF服務的wsdl未列出操作的輸入參數。我正在做http://localhost:123/CalculatorService.svc?wsdl。瀏覽器顯示wsdl,但正如我所說的沒有輸入參數。發佈WCF元數據操作合同參數

我看起來很高和很低。我發現了很多關於如何啓用wsdl代的示例,但沒有明確地討論輸入參數。

WcfTestClient獲取輸入參數,所以我知道它們以某種方式可用。

這是我的Web.config的一部分& app.Config(我爲了隱私目的更改了名稱)。

<serviceBehaviors> 
    <behavior name="CalculatorServiceBehavior"> 
     <serviceMetadata httpGetEnabled="true" policyVersion="Policy15" /> 
     <serviceDebug includeExceptionDetailInFaults="true"/> 
    </behavior> 

    <behavior> 
     <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --> 
     <serviceMetadata httpGetEnabled="true" policyVersion="Policy15"/> 
     <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> 
     <serviceDebug includeExceptionDetailInFaults="true"/> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

<services> 
    <service 
     name="MyServiceNamespace.CalculatorService" 
     behaviorConfiguration="MyServiceNamespaceBehavior"> 

    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:63906/CalculatorService"/> 
     </baseAddresses> 
    </host> 

    <endpoint address="" 
       binding="wsHttpBinding" 
       contract="MyServiceNamespace.CalculatorService" /> 

    <endpoint address="mex" 
       binding="mexHttpBinding" 
       contract="IMetadataExchange" /> 
    </service> 
</services> 

回答

1

WCF生成的wsdl包含名稱空間,並且一些名稱空間鏈接到用於定義輸入和輸出合約的模式文檔。這就是描述方法參數的地方。