0

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:

  1. Generated schema for service The Add Generated Items -> Consume WCF Service threw a null exception so I had to use the .NET 2.0 Add Web-reference to generate xsd and an odx.
  2. Manually create simple message schemas As asked here I created the schema for the simple request and response messages not auto-generated.
  3. Set up port I've tried WCF-Custom, WCF-BasicHttp and Http

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:

  • The service configuration
  • The way I have set up the adapters -where have I specified that the response is expected to be within a SOAP envelope?
  • The manual addition of the response schema. If this is incorrect how do I get the web message types deployed?
  • Those unexpected characters - I tried the AutoResponder function of Fiddler with the characters removed but I get an IO exception (connection closed)
  • Other...?
Community
  • 1
  • 1
mizzle
  • 578
  • 1
  • 6
  • 23
  • "do not get returned with a SOAP envelope" Are you saying that it's not a SOAP Service then? If the endpoint is not returning SOAP, nothing in BizTalk will make it SOAP. – Johns-305 Mar 25 '14 at 12:37
  • @boatseller No it's not although they return SOAP exceptions! It's the WCF adapters which are expecting a SOAP envelope and complaining because there is none – mizzle Mar 25 '14 at 13:18
  • @boatseller I'm unsure what part of my setup has caused the treatment of this service as SOAP – mizzle Mar 25 '14 at 13:24
  • 1
    Add Web Reference assumes SOAP. The Adapters aren't actually Type specific. – Johns-305 Mar 25 '14 at 13:40
  • 1
    The first thing I'd do is confirm with the axis2 team if this a really a SOAP service or some thing else. If it's not fully SOAP compliant, the wizards won't help you. – Johns-305 Mar 25 '14 at 13:47

1 Answers1

0

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.

Community
  • 1
  • 1
mizzle
  • 578
  • 1
  • 6
  • 23