|
Home > Archive > BizTalk Server Orchestration > June 2006 > The adapter failed to transmit message going to send port
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
The adapter failed to transmit message going to send port
|
|
| Geir Aamodt 2006-06-01, 7:15 am |
| Problem:
We are trying to create a workflow in BizTalk 2006 on a Windows XP machine
using the principle of “contract first”. We have defined the following xml
schema:
<?xml version="1.0" encoding="utf-16" ?>
- <xs:schema
xmlns:ns0="http://WebServiceTestOrchestration.PropertySchema.PropertySchema"
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
xmlns="http://localhost/TestWebService/Calculation.xsd"
elementFormDefault="qualified"
targetNamespace="http://localhost/TestWebService/Calculation.xsd"
id="Calculation" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:annotation>
- <xs:appinfo>
- <b:imports>
<b:namespace prefix="ns0"
uri="http://WebServiceTestOrchestration.PropertySchema.PropertySchema"
location=".\propertyschema.xsd" />
</b:imports>
</xs:appinfo>
</xs:annotation>
- <xs:element name="CalculationMessage">
- <xs:annotation>
- <xs:appinfo>
- <b:properties>
<b:property name="ns0:Id" xpath="/*[local-name()='CalculationMessage' and
namespace-uri()='http://localhost/TestWebService/Calculation.xsd']/*[local-name()='Id'
and namespace-uri()='http://localhost/TestWebService/Calculation.xsd']" />
</b:properties>
</xs:appinfo>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Id" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Input1" type="xs:int" />
<xs:element minOccurs="0" maxOccurs="1" name="Input2" type="xs:int" />
<xs:element minOccurs="0" maxOccurs="1" name="Result" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
This schema is used to generate the web service that the orchestration is
supposed to consume, and it is used to define the messages within the
orchestration.
The web service is generated with the WS Contract First tool.
The port in the orchestration that is to be connected to the web service is
set to “specify later”, and the port operation name is equal to the web
service’s method name.
In the BizTalk Server 2006 Administration Console the port is connected to
the web service using SOAP and referencing the asmx file.
When trying to run the workflow, the orchestration gets dehydrated, the web
service port is idle and we get the following message in the Application
Event Log:
The adapter failed to transmit message going to send port
"CalculationService" with URL
"http://localhost/TestWebService/CalculationFacade.asmx". It will be
retransmitted after the retry interval specified for this Send Port.
Details:"Failed to load "" type.
Please verify the fully-qualified type name is valid.
Details: "".
The type must derive from
System.Web.Services.Protocols.SoapHttpClientProtocol.
The type must have the attribute
System.Web.Services.WebServiceBindingAttribute. ".
Copying the message idling on the port and submitting it manually to the web
service returns a satisfying response.
The IIS log contains no records showing that BizTalk is trying to connect to
the web service.
For us it seems that the message is stopped on the way to its own port.
| |
| Øystein Sundsbø - Bekk Consulting AS 2006-06-02, 7:16 am |
| I can add that when the message enters suspended mode we get the following
exception:
Exception type: XlangSoapException
Source: Microsoft.XLANGs.BizTalk.Engine
Target Site: Void VerifyTransport(Microsoft.XLANGs.Core.Envelope, Int32,
Microsoft.XLANGs.Core.Context)
The following is a stack trace that identifies the location where the
exception occured
at
Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env,
Int32 operationId, Context ctx)
at Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx,
Envelope& env, Boolean topOnly)
at Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription,
Segment currentSegment, Context cxt, Envelope& env, CachedObject location)
at WebServiceTestOrchestration.Calculate.segment1(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s,
StopConditions stopCond, Exception& exp)
--
Øystein Sundsbø
Senior Consultant
Bekk Consulting AS
| |
| Øystein Sundsbø - Bekk Consulting AS 2006-06-02, 1:14 pm |
| I found the solution to the problem:
In the wsdl generator tool from WSCF you have to specify to implement the
<service> element. That's the reason for the 'Failed to load "" type.'
exception.
In the orchestration you have to connect to the URL for the .wsdl file that
WSCF generates, not the .asmx or .asmx?wsdl
--
Øystein Sundsbø
Senior Consultant
Bekk Consulting AS
|
|
|
|
|