|
Home > Archive > BizTalk Server Orchestration > November 2005 > .net class messages
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 |
.net class messages
|
|
| kplkumar@gmail.com 2005-11-02, 5:50 pm |
| I have an orchestration which totaly uses only .NET classes as
messages. I have this orchestration published as a web service. This
orchestration also calls another external .NET dll to access the
database.
I have tested the database access layer, so have I tested the client,
having a ASP.NET web service. I am just trying to replace the ASP.NET
web service with the BizTalk web service.
So for the most part the Orchestration does not do much - no mapping,
nothing. It just receives messages from the client and calls the
database access layer and returns back with results.
I know it sounds too simple to be using BizTalk. But that is the
requirement. My question is,
My messages, as I mentioned before, are all .NET classes. When I make
the call from the client to the BizTalk web service, it goes through
and stops at the Orchestration level - seeing the HAT tool, I found,
Microsoft.XLANGs.Core.MissingPartException: The XLANG/s message has no
part at index '1'. The total number of parts found in the message is
'1'. If you expect a multipart message, check that the pipeline
supports multipart messages such as MIME.
at
Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.ReadMessageState(Envelope
env, XLANGMessage msg)
at
Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.ReceiveMessage(Int32
iOperation, Envelope env, XLANGMessage msg, Correlation[]
initCorrelations, Context cxt, Segment s)
at
EReferrals.ERUI.BizTalkServices.SystemOrch.segment1(StopConditions
stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s,
StopConditions stopCond, Exception& exp)
Microsoft.XLANGs.Core.MissingPartException
Does anyone have any clue what this might mean. I have checked and
double checked my message declaration and message construction. The
database access layer is not even called.
Help!!
| |
| Jon Flanders 2005-11-02, 5:50 pm |
| What does your message declaration in the Orchestration look like?
Jon Flanders [MVP]
http://www.masteringbiztalk.com
> I have an orchestration which totaly uses only .NET classes as
> messages. I have this orchestration published as a web service. This
> orchestration also calls another external .NET dll to access the
> database.
>
> I have tested the database access layer, so have I tested the client,
> having a ASP.NET web service. I am just trying to replace the ASP.NET
> web service with the BizTalk web service.
>
> So for the most part the Orchestration does not do much - no mapping,
> nothing. It just receives messages from the client and calls the
> database access layer and returns back with results.
>
> I know it sounds too simple to be using BizTalk. But that is the
> requirement. My question is,
>
> My messages, as I mentioned before, are all .NET classes. When I make
> the call from the client to the BizTalk web service, it goes through
> and stops at the Orchestration level - seeing the HAT tool, I found,
>
> Microsoft.XLANGs.Core.MissingPartException: The XLANG/s message has no
> part at index '1'. The total number of parts found in the message is
> '1'. If you expect a multipart message, check that the pipeline
> supports multipart messages such as MIME.
> at
> Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.ReadMessageState(Enve
> lope
> env, XLANGMessage msg)
> at
> Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.ReceiveMessage(Int32
> iOperation, Envelope env, XLANGMessage msg, Correlation[]
> initCorrelations, Context cxt, Segment s)
> at
> EReferrals.ERUI.BizTalkServices.SystemOrch.segment1(StopConditions
> stopOn)
> at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s,
> StopConditions stopCond, Exception& exp)
> Microsoft.XLANGs.Core.MissingPartException
>
> Does anyone have any clue what this might mean. I have checked and
> double checked my message declaration and message construction. The
> database access layer is not even called.
>
> Help!!
>
| |
| kplkumar@gmail.com 2005-11-02, 5:50 pm |
| I have added my .NET library as reference to the biztalk project. When
I created the messages, I declared the type to be one of the classes in
that .NET library. This is nothing but a class with public properties.
So my web service call looks like
xxxwebservice.GetSelectionTypes(sessionMemento); where sessionMemento
is an instance of that c# class. In the orchestration the receive port
is configured to receive messages of type SessionMemento.
It's surprising why it's looking for a multi-part message. I know at
the reference.cs file the method says,
[return: System.Xml.Serialization.XmlElementAttribute("part")]
public SelectionTypeList GetSelectionTypes(SessionMemento part) {
object[] results = this.Invoke("GetSelectionTypes", new object[]
{part});
return ((SelectionTypeList)(results[0]));
}
which essentially means that it accepts only one parameter in the
method call and is going to send that "part" in an object array which
contains only one object. Why should it be looking for another??
|
|
|
|
|