Hello Everyone,
I have a problem with executing a receive pipeline which I hope you can
help.
I am getting the following exception.
Microsoft.XLANGs.Pipeline.XLANGPipelineManagerException: The pipeline
manager could not prepare the message(s) for processing pipeline
"Decillion.MAPS.SGX.Pipelines.RECEIVE_FlatFile_MT202_ATC_DP_DS_EPSDR_EPSFC_EPSCR_RTS".
Error Details: "System.IO.Stream" ---> System.InvalidCastException:
System.IO.Stream
at Microsoft.XLANGs.Core.CustomFormattedPart.ProtectedRetrieveAs(Type
t)
at Microsoft.XLANGs.Core.Part.RetrieveAs(Type t)
at Microsoft.XLANGs.Pipeline.PipelineXPart.ToBaseMessagePart()
at Microsoft.XLANGs.Pipeline.PipelineXMessage.ToBaseMessage()
at
Microsoft.XLANGs.Pipeline.XLANGPipelineManager.ExecutePipeline(ReceivePipeline
p, XLANGMessage inMsg)
--- End of inner exception stack trace ---
at
Microsoft.XLANGs.Pipeline.XLANGPipelineManager.ExecutePipeline(ReceivePipeline
p, XLANGMessage inMsg)
at
Microsoft.XLANGs.Pipeline.XLANGPipelineManager.ExecuteReceivePipeline(Type
receivePipelineType, XLANGMessage inMsg)
at
Decillion.MAPS.SGX.Orchestration.SGX_TO_SWIFT_MTXXX_ATC_DP_DS_EPSDR_EPSFC_EPSCR_RTS.segment3(StopConditions
stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s,
StopConditions stopCond, Exception& exp)
Microsoft.XLANGs.Pipeline.XLANGPipelineManagerException
Scoped@[EMAIL PROTECTED]
am using a Message of type RAWSTRING which is where I think the problem
is.
Here is the code below which I copied from the Microsoft Web Site.
Note it has a CustomFormatter called
[CustomFormatter(typeof(RawStringFormatter))]
--------------------------------------------------------------------------------
namespace Microsoft.Samples.BizTalk.XlangCustomFormatters
{
public abstract class BaseFormatter : IFormatter
{
public virtual SerializationBinder Binder
{
get { throw new NotSup****tedException(); }
set { throw new NotSup****tedException(); }
}
public virtual StreamingContext Context
{
get { throw new NotSup****tedException(); }
set { throw new NotSup****tedException(); }
}
public virtual ISurrogateSelector SurrogateSelector
{
get { throw new NotSup****tedException(); }
set { throw new NotSup****tedException(); }
}
public abstract void Serialize( Stream stm, object obj );
public abstract object Deserialize( Stream stm );
}
public class RawStringFormatter : BaseFormatter
{
public override void Serialize(Stream s, object o)
{
RawString rs = (RawString)o;
byte[] ba = rs.ToByteArray();
s.Write( ba, 0, ba.Length );
}
public override object Deserialize(Stream stm)
{
StreamReader sr = new StreamReader( stm, true );
string s = sr.ReadToEnd();
return new RawString( s );
}
}
[CustomFormatter(typeof(RawStringFormatter))]
[Serializable]
public class RawString
{
[XmlIgnore]
string _val;
public RawString(string s )
{
if (null==s)
throw new ArgumentNullException();
_val = s;
}
public RawString()
{
}
public byte[] ToByteArray()
{
return Encoding.UTF8.GetBytes( _val );
}
public override string ToString()
{
return _val;
}
}
}
--------------------------------------------------------------------------------
Can anyone please help it would be greatly appreciated.
Thanks
Angelo Laris


|