0
我想開發一個接收SOAP請求並返回SOAP響應的Web服務。我不知道該怎麼做。我只使用以下代碼來交換消息。誰能幫我把我的服務正常使用WCF交換SOAP消息
IService.cs
[OperationContract(Name = "Receive")]
[WebInvoke(Method = "POST", UriTemplate = "Receive")]
string Receive(Stream odata);
Service.cs
public string Receive(Stream data)
{
string [email protected]"<SOAP-ENV:Envelope xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/""
xmlns:SOAP-ENC=""http://schemas.xmlsoap.org/soap/encoding/"" xmlns:xsi=""http:/
/www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/
XMLSchema"">
<SOAP-ENV:Body>
<m:Execute xmlns:m=""http://tempuri.org/"">
<m:name>name1</m:name>
<m:Value></m:Value>
</m:Execute>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>";
return response;
}
這裏是web.config中的一部分
<system.serviceModel>
<services>
<service name="Service" behaviorConfiguration="myServiceBehavior">
<endpoint name="webHttpBinding" address="" binding="webHttpBinding" contract="IService" behaviorConfiguration="webHttp"/>
<endpoint name="mexHttpBinding" address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="myServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
<behavior>
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<!-- 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="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https"/>
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
</system.serviceModel>