We are currently using Nintex Workflow 2010 to create a Reusable Workflow on a project.
The
issue we are having is with calling a SOAP web service operation with
the "Call Web Service" action in the workflow. The web operation DOES return a correct SOAP response when we call it from the "Run Now" window. However, it DOESN'T return a correct SOAP response during the running of the
workflow.
The error message logged from the "Store error text in" output says:
Error: Namespace prefix 'soap' is not defined.
We also logged the SOAP response from the Web Service call during the running of the workflow and had this response:
<a:ErrorMessage i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices" />
<a:HttpStatusCode i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices" />
<a:StackTrace i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices" />
<a:StatusDescription i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices" />
<a:Successful xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices">true</a:Successful>
<a:Result xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices"> true</a:Result>
<a:HttpStatusCode i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices" />
<a:StackTrace i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices" />
<a:StatusDescription i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices" />
<a:Successful xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices">true</a:Successful>
<a:Result xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices"> true</a:Result>
This response isn't correct, and should match the below response that was returned from the test call in the "Run Now" page.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<IsWaiverRequiredResponse xmlns="http://tempuri.org/">
<IsWaiverRequiredResult xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:ErrorMessage i:nil="true" />
<a:HttpStatusCode i:nil="true" />
<a:StackTrace i:nil="true" />
<a:StatusDescription i:nil="true" />
<a:Successful>true</a:Successful>
<a:Result>true</a:Result>
</IsWaiverRequiredResult>
</IsWaiverRequiredResponse>
</s:Body>
</s:Envelope>
<s:Body>
<IsWaiverRequiredResponse xmlns="http://tempuri.org/">
<IsWaiverRequiredResult xmlns:a="http://schemas.datacontract.org/2004/07/EOrderingServices" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:ErrorMessage i:nil="true" />
<a:HttpStatusCode i:nil="true" />
<a:StackTrace i:nil="true" />
<a:StatusDescription i:nil="true" />
<a:Successful>true</a:Successful>
<a:Result>true</a:Result>
</IsWaiverRequiredResult>
</IsWaiverRequiredResponse>
</s:Body>
</s:Envelope>
We're not sure why the SOAP responses differ when
calling the operation from the test window and during the workflow
runtime when the settings should be the same. We can successfully call the same service operation with WCF elsewhere from C# applications. Does anyone have an idea of what might be happening in the Nintex "Call Web Service" activity during the workflow? I can give more info about the settings if needed.