I've been attempting to get a BizTalk orchestration connecting to an external axis2 web service for a couple of days with various issues.
The steps I've taken are:
I always get the below message when attempting to receive the response:
Inner exception: Invalid envelope namespace
Exception type: SoapException
Source: Microsoft.XLANGs.BizTalk.Engine
Target Site: System.Web.Services.Protocols.SoapException ReadSoapException(System.Xml.XmlReader)
The following is a stack trace that identifies the location where the exception occured
at Microsoft.BizTalk.ExceptionUtil.ReadSoapException(XmlReader reader)
at Microsoft.BizTalk.XLANGs.BTXEngine.SoapExceptionMsg.SoapExceptionFormatter.Deserialize(XLANGMessage msg, Stream stm)
at Microsoft.BizTalk.XLANGs.BTXEngine.SoapExceptionMsg.get_TheException()
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXLogicalPortBinding.VerifyMessage(Envelope env, String typeName, Context cxt, OperationInfo op)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)
The service throws SOAP exceptions but the messages (tested via browser and Fiddler) do not get returned with a SOAP envelope wrapper.
The other oddity is that in Fiddler the messages include some strange characters in the body. In most instances:
70
{expected message}
0
Are my issues due to:
It turns out that I was testing using the Http endpoint instead of the SOAP endpoint. Doh!
I now have other problems (here and here) with choosing which binding to use with SOAP 1.1 or 1.2 and empty envelopes.