Of course, check your action first. It could be misspelled or mistyped.

What can happen is that your BizTalk works fine with a WCF web service,
but then you move the WCF service to a different machine and get the error below.
Apparently, this only happens when the different machine is in a different domain.


<code>
&lt;s:Fault xmlns:s="http://www.w3.org/2003/05/soap-envelope"&gt;
&lt;s:Code&gt;&lt;s:Value&gt;s:Sender&lt;/s:Value&gt;
&lt;s:Subcode&gt;&lt;s:Value xmlns:a="http://schemas.xmlsoap.org/ws/2005/02/sc"&gt;a:BadContextToken&lt;/s:Value&gt;&lt;/s:Subcode&gt;
&lt;/s:Code&gt;
  &lt;s:Reason&gt;&lt;s:Text xml:lang="en-US"&gt;The message could not be processed.
<br />This is<br />
most likely because the action 'http://YourService/IYourInterface/YourMethod' is incorrect or <br />because the message contains an invalid or expired security context token or because there <br />is a mismatch between bindings. The security context token would be invalid if the service <br />aborted the channel due to inactivity. To prevent the service from aborting idle sessions <br />prematurely increase the Receive timeout on the service endpoint's binding.&lt;/s:Text&gt;
  &lt;/s:Reason&gt;
&lt;/s:Fault&gt;
</code>

Add the code below to the web.config for your WCF web service.

<code>
&lt;bindings&gt;
   &lt;wsHttpBinding&gt;
       &lt;binding name="Binding1"&gt;
            &lt;security mode="None"&gt;
                 &lt;transport clientCredentialType="None" /&gt;
                 &lt;message establishSecurityContext="false" /&gt;
            &lt;/security&gt;
       &lt;/binding&gt;
   &lt;/wsHttpBinding&gt;
&lt;/bindings&gt;
</code>

Tagged with:

Filed under: Errors/ExceptionsUncategorized