Note that there are some explanatory texts on larger screens.

plurals
  1. POWCF - Can't Generate Metadata/Implement MEX for NetMsmq Binding under IIS WAS?
    text
    copied!<p>I have been successfull in implementing NetTcp bindings and metadata under WAS but I am having a problem with the netMsmqBinding under WAS/IIS. In a nutshell, I can implement MEX for a Self Hosted NetMsmq binding application but not WAS/IIS. It seems like WAS is rejecting any of the addresses that I use where I can use any address in the self hosted app. In other words I can do this in self hosted:</p> <pre><code>&lt;system.serviceModel&gt; &lt;services&gt; &lt;service name="Microsoft.Samples.MSMQTransactedSample.OrderProcessorService" behaviorConfiguration="OrderProcessorServiceBehavior"&gt; &lt;host&gt; &lt;baseAddresses&gt; &lt;add baseAddress="http://localhost:8000/ServiceModelSamples/service" /&gt; &lt;/baseAddresses&gt; &lt;/host&gt; &lt;!-- Define NetMsmqEndpoint --&gt; &lt;endpoint address="net.msmq://localhost/private/ServiceModelSamplesTransacted" binding="netMsmqBinding" bindingConfiguration="TransactedBinding" contract="Microsoft.Samples.MSMQTransactedSample.IOrderProcessor" /&gt; &lt;!-- the mex endpoint is exposed at http://localhost:8000/ServiceModelSamples/service/mex --&gt; &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /&gt; &lt;/service&gt; &lt;/services&gt; &lt;behaviors&gt; &lt;serviceBehaviors&gt; &lt;behavior name="OrderProcessorServiceBehavior"&gt; &lt;serviceMetadata httpGetEnabled="True" /&gt; &lt;/behavior&gt; &lt;/serviceBehaviors&gt; &lt;/behaviors&gt; &lt;bindings&gt; &lt;netMsmqBinding&gt; &lt;binding name="TransactedBinding"&gt; &lt;security mode="None" /&gt; &lt;/binding&gt; &lt;/netMsmqBinding&gt; &lt;/bindings&gt; &lt;/system.serviceModel&gt; </code></pre> <p>Hoever, when I try something similar in WAS, it says no endpoint lisening at address 8000. It won't host the metdata. Can someone help me get metadata or implement MEX for NetMsmq in WAS:</p> <pre><code>&lt;system.serviceModel&gt; &lt;bindings&gt; &lt;netMsmqBinding&gt; &lt;binding name="MsmqBindingNonTransactionalNoSecurity" exactlyOnce="false"&gt; &lt;security mode="None"/&gt; &lt;/binding&gt; &lt;/netMsmqBinding&gt; &lt;/bindings&gt; &lt;services&gt; &lt;service name="Portal.LoadSim.Services.MsmqService" behaviorConfiguration="PortalServiceBehavior"&gt; &lt;host&gt; &lt;baseAddresses&gt; &lt;add baseAddress="http://localhost:8000/PortalLoadSimServices10/MsmqService"/&gt; &lt;/baseAddresses&gt; &lt;/host&gt; &lt;!-- Define NetMsmqEndpoint --&gt; &lt;endpoint address="net.msmq://localhost/private/PortalLoadSimServices10/MsmqService.svc" binding="netMsmqBinding" bindingConfiguration="MsmqBindingNonTransactionalNoSecurity" contract="Portal.LoadSim.Shared.IMsmqService" /&gt; &lt;!-- the mex endpoint is exposed at http://localhost:8000/PortalLoadSimServices10/MsmqService/mex --&gt; &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /&gt; &lt;/service&gt; &lt;/services&gt; &lt;behaviors&gt; &lt;serviceBehaviors&gt; &lt;behavior name="PortalServiceBehavior"&gt; &lt;!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --&gt; &lt;serviceMetadata httpGetEnabled="true"/&gt; &lt;!-- 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 --&gt; &lt;serviceDebug includeExceptionDetailInFaults="false" /&gt; &lt;/behavior&gt; &lt;/serviceBehaviors&gt; &lt;/behaviors&gt; &lt;/system.serviceModel&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload