none
Adding SOAP header in Mapper output which has two messages.

    Question

  • In a mapper I have one source messages and two destination messages.

    Source mapper : MsgLoginResponse

    Destination Transform : MsgSessionHeader and MsgReadContacts.

    I mapped one property of MsgLogInResponse to sessionid of MsgSessionHeader.

    How can I attach SOAP header to MsgReadContacts.

    I would like to assign the above output (with SOAP header) to Send shape whose type is MsgReadContacts.

    I have tried above stuff (not added SOAP header) and I am getting following error.

    Error:Output of the transform does not match the expected number of output parameters.

    How would I fix this? Any idea?

    Thursday, July 04, 2013 4:45 PM

Answers

  • Aha, you select the MessageType from the schemas section, while you should select it from the Multi-part Message types section.
    • Marked as answer by Pabitra Dash Friday, July 05, 2013 10:50 AM
    Friday, July 05, 2013 9:59 AM
  • Move the output of the looping functoid to the filter record
    • Marked as answer by Pabitra Dash Friday, July 05, 2013 2:24 PM
    Friday, July 05, 2013 2:04 PM
  • Pabitra,

    You could use a helper class, that holds your cached sessionId. Richard Seroter did something similar when integrating BizTalk with SalesForce, look at this blogpost. About halfway is the class ForceToken.

    Regards,

    René

    • Marked as answer by Pabitra Dash Wednesday, July 10, 2013 10:29 AM
    Tuesday, July 09, 2013 7:41 PM

All replies

  • Hi Pabitra,

    You cannot attach SoapHeaders to a message using the mapper, as the SoapHeaders are part of the Header in the SoapEnvelope.

    The message you create in an orchestration and send to the SendPort will be placed in de Body of the SoapEnvelope.

    The construction of the SoapEnvelope (Header and Body) is done by the SendAdapter using the message as body and the OutboundCustomHeaders property as header.

    Regards,

    René

    Thursday, July 04, 2013 5:26 PM
  • Hi,

    Thanks for the reply. How would I attached session header in my example. can you please explain through a example?

    Regards,

    Friday, July 05, 2013 1:16 AM
  • You can set the session ID in SOAP header using the OutboundCustomHeaders property of WCF. To know how to set it refer to article: Using SOAP Headers in WCF Messages with Orchestrations


    Please mark the post answered your question as answer, and mark other helpful posts as helpful, it'll help other users who are visiting your thread for the similar problem, Regards -Rohit Sharma (http://rohitt-sharma.blogspot.com/)

    Friday, July 05, 2013 3:04 AM
  • I am getting error 'Output of the transform does not match the expected number of output parameters', when I try to map followings and assign to SEND shape of type MsgReadContacts. Any idea why I am getting this?

    Source mapper : MsgLoginResponse

    Destination Transform : MsgSessionHeader and MsgReadContacts.

    Friday, July 05, 2013 5:28 AM
  • I am getting error 'Output of the transform does not match the expected number of output parameters', when I try to map followings and assign to SEND shape of type MsgReadContacts. Any idea why I am getting this?

    Source mapper : MsgLoginResponse

    Destination Transform : MsgSessionHeader and MsgReadContacts.

    Friday, July 05, 2013 5:28 AM
  • Pabitra don't generate header using map instead specify the content of header for property WCF.OutboundCustomHeaders.

    Please mark the post answered your question as answer, and mark other helpful posts as helpful, it'll help other users who are visiting your thread for the similar problem, Regards -Rohit Sharma (http://rohitt-sharma.blogspot.com/)

    Friday, July 05, 2013 5:45 AM
  • I would like avoid xmldco.LoadXml() call which takes hard coded strings.

    Here is my requirement

    MsgLoginResponse.Return should be assigned to MsgSessionHeader.Sessionid and MsgReadContacts should be constructed with nothing.

    After that SOAP header would be attached to the message MsgReadContacts. Please suggest.

    The output would be assigned to SEND shape of type MsgReadContacts.

    I achieved the result with LoadXML() with hardcoded strings which I would like to avoid.


    • Edited by Pabitra Dash Friday, July 05, 2013 6:07 AM Correction
    Friday, July 05, 2013 5:57 AM
  • Pabitra, All you have to do it to get the get the session Id from the response message(you can access the header of response by using the WCF.InboundHeaders property) and replace it in string being used to set the OutboundCustomHeader by using System.String.Format("...{0}...",variableHoldingSessionIDFromResponse)

    Please mark the post answered your question as answer, and mark other helpful posts as helpful, it'll help other users who are visiting your thread for the similar problem, Regards -Rohit Sharma (http://rohitt-sharma.blogspot.com/)

    Friday, July 05, 2013 6:27 AM
  • Thanks. So do you think I do not need to construct MsgSessionHeader. How do I construct MsgReadContacts with nothing (all optional fields). All I need is to construct MsgReadContacts with session header (which has value session id) and pass MsgReadContacts to WCF adapter. I would not like to use LoadXML with hard coded strings.

    Hello

    Friday, July 05, 2013 6:40 AM
  • Pabitra,

    Presumably you haven't mapped anything to the MsgReadContacts target schema, resulting in not generating output for this schema.

    Have you performed a test map with the proper input and looked at the outcome. it is my guess you only get output for your MsgSessionHeader.

    Friday, July 05, 2013 6:40 AM
  • You are correct. I get following error after performing 'Test Map'. However as I discussed y'day, I would like to construct MsgReadContacts with nothing in Mapper. How would I would do this in Mapper, which is my second output message, first one is session header.

    Output validation error: The element 'Root' in namespace 'http://schemas.microsoft.com/BizTalk/2003/aggschema' has incomplete content. List of possible elements expected: 'OutputMessagePart_1'.


    Hello

    Friday, July 05, 2013 6:53 AM
  • Pabitra,

    Add a Looping functoid to your map, connect the loginResponse record as input to the functoid and connect the output to readContacts record.

    Regards,

    René

    Friday, July 05, 2013 7:07 AM
  • Thank you. After running application I got following error.

    Invalid input/output document into/from the transform. Does not have a single root node..

    I tried output of transform to a a 'Send shape' which expected message of type MsgReadContacts.


    Hello

    Friday, July 05, 2013 7:24 AM
  • I think Looping functoid is not working. What do you think?

    Hello

    Friday, July 05, 2013 7:44 AM
  • Hi Rene,

    Any thought on this error after adding looping functoid. Please reply.

    Invalid input/output document into/from the transform. Does not have a single root node..


    Hello

    Friday, July 05, 2013 9:06 AM
  • Pabitra,

    I've done some testing myself and got it working the following way:

    Construct shape with a Transform followed by an Assignment shape. For the Transform select MsgLoginResponse as input and MsgReadContacts.parameters, MsgReadContacts.sessionHeader as output. In the map use a looping functoid as I explained before and link the loginResponse.return to the sessionHeader.sessionId.

    In the Assignment type the following: 

    xmlDoc = MsgReadContacts.sessionHeader;
    MsgReadContacts(WCF.OutboundCustomHeaders) = "<headers>" + xmlDoc.OuterXml + "</headers>";

    Regards,

    René

     

    Friday, July 05, 2013 9:08 AM
  • Thank you very much for your response. But I could not understand how to set MsgReadContacts.parameters and MsgReadContacts.sessionHeader as output. While creating a mapper,I set MsgSessionHeader and MsgReadContacts for destination transforms.

    So how to set MsgReadContacts.parameters and MsgReadContacts.sessionHeader as destination transforms. Please reply.


    Hello

    Friday, July 05, 2013 9:38 AM
  • How did you create your version of MsgReadContacts?

    Friday, July 05, 2013 9:51 AM
  • MsgReadContacts is a message type of ReadBrontoContacts.BrontoSoapApiImplService_api_bronto_com_v4.readContacts.

    Hello

    Friday, July 05, 2013 9:57 AM
  • Aha, you select the MessageType from the schemas section, while you should select it from the Multi-part Message types section.
    • Marked as answer by Pabitra Dash Friday, July 05, 2013 10:50 AM
    Friday, July 05, 2013 9:59 AM
  • First I create multi part message type MsgReadContacts from 'Bronto....v4.readContacts' and 'Bronto....v4.SessionHeader' and select it as destination transform.

    Now on assignment part I get following error.

    "MsgReadContacts.sessionHeader': message part has not been initialized in construct statemen"

    on compiling following statement.

    xmlDoc = MsgReadContacts.sessionHeader;

    In assignment, I select MsgReadContacts for Messages constructed.


    Hello

    Friday, July 05, 2013 10:43 AM
  • Is it solved/working now?
    Friday, July 05, 2013 11:11 AM
  • No, it is not working. I get error "message part has not been initialized in construct statement". Details as follows.

    First I create multi part message type MsgReadContacts from 'Bronto....v4.readContacts' and 'Bronto....v4.SessionHeader' and select it as destination transform.

    Now on assignment part I get following error.

    "MsgReadContacts.sessionHeader': message part has not been initialized in construct statement"

    on compiling following statement.

    xmlDoc = MsgReadContacts.sessionHeader;

    In assignment, I select MsgReadContacts for Messages constructed.


    Hello

    Friday, July 05, 2013 11:14 AM
  • You don't have to create a MultiPart Message yourself, it is created for you when consuming the Bronto wsdl. You only need to create a message MgsReadContacts of the generated multipart message type.

    Do you have the Transform and Assignment both in the same Construct shape?

    Friday, July 05, 2013 11:26 AM
  • 1) After creating new message when I select 'Message Type' down down in property window, I do not see any Bronto created MultiPart Message types.Thats why I created MultiPart Message myself.

    2) No, I do not have Transform and Assignment both in the same Construct shape. As you suggested I created Transform first then Assignment. Please suggest where is it going wrong?


    Hello

    Friday, July 05, 2013 11:33 AM
  • 1) Well it could work with your own created MultiPart message

    2) Place both within the same construct like so:

    Regards,

    René

    Friday, July 05, 2013 11:41 AM
  • I got following same error 'Output of the transform does not match the expected number of output parameters'.

    xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'ReadBrontoContacts.BrontoLogIn(2d3792eb-9000-aaf1-860b-977333e67f4f)'.
    The service instance will remain suspended until administratively resumed or terminated.
    If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
    InstanceId: 809088de-6f32-4ef0-98f9-3e989144c5bd
    Shape name: Create ReadContacts
    ShapeId: b7e40dc7-1799-4746-91c0-d44d3cbf79ea
    Exception thrown from: segment 2, progress 9
    Inner exception: Error encountered while executing the transform ReadBrontoContacts.Transform_1. Error:Output of the transform does not match the expected number of output parameters..

    Exception type: XTransformationFailureException
    Source: Microsoft.XLANGs.Engine
    Target Site: Void ShredXmlDocument(System.IO.Stream, System.Object[], System.String, System.Xml.XmlDeclaration)
    The following is a stack trace that identifies the location where the exception occured

       at Microsoft.XLANGs.Core.Service.Transform.ShredXmlDocument(Stream inStream, Object[] outParams, String mapName, XmlDeclaration xmlDecl)
       at Microsoft.XLANGs.Core.Service.ApplyInMemoryTransform(Type mapRef, TransformMetaData trfMetaData, Object[] outParams, Stream[] inStreams)
       at Microsoft.XLANGs.Core.Service.ApplyTransform(Type mapRef, Object[] outParams, Object[] inParams)
       at ReadBrontoContacts.BrontoLogIn.segment2(StopConditions stopOn)
       at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)


    Hello

    Friday, July 05, 2013 12:06 PM
  • Check your transform properties and map, do they look like this:

    Friday, July 05, 2013 12:10 PM
  • I corrected the map. But still no luck. I got following exception.

    xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'ReadBrontoContacts.BrontoLogIn(2d3792eb-9000-aaf1-860b-977333e67f4f)'.
    The service instance will remain suspended until administratively resumed or terminated.
    If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
    InstanceId: 5066812d-c7a3-4b35-95ff-f2f940099f30
    Shape name:
    ShapeId:
    Exception thrown from: segment -1, progress -1
    Inner exception: Exceptions.Types.FaultReceiveException
            
    Exception type: FaultReceiveException
    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 ReadBrontoContacts.BrontoLogIn.segment2(StopConditions stopOn)
       at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)


    Hello

    Friday, July 05, 2013 12:33 PM
  • Is this exception related to readContactResponse? I did not create mufti part readContactResponse. I create it from schema? Please reply.

    xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'ReadBrontoContacts.BrontoLogIn(2d3792eb-9000-aaf1-860b-977333e67f4f)'.
    The service instance will remain suspended until administratively resumed or terminated.
    If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
    InstanceId: 5066812d-c7a3-4b35-95ff-f2f940099f30
    Shape name:
    ShapeId:
    Exception thrown from: segment -1, progress -1
    Inner exception: Exceptions.Types.FaultReceiveException
     
    Exception type: FaultReceiveException
    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 ReadBrontoContacts.BrontoLogIn.segment2(StopConditions stopOn)
       at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)


    Hello

    Friday, July 05, 2013 12:47 PM
  • Well, I think you got a lot further as this indicates you received a SoapFault from the Bronto webservice, but it is not handled in your orchestration.

    Can you look into this? Look in the eventviewer or in the BizTalk Admin console at the suspended instances.

    Although this is okay for the shortterm, you should build your orchestration to be prepared for handling SoapFaults.

    Regards,

    René

    Friday, July 05, 2013 12:48 PM
  • I have added fault but it is not caught. In suspended instances, I found following error.

    <soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>soap:Client</faultcode><faultstring>107: There was an error in your soap request. Please examine the request and try again.</faultstring><detail>There was an error in your soap request. Please examine the request and try again.</detail></soap:Fault>


    Hello

    Friday, July 05, 2013 1:05 PM
  • How did you add Fault?

    And did you check the request you're sending as suggested?

    Friday, July 05, 2013 1:07 PM
  • I tried the following request in SOAP UI, it is not working.<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v4="http://api.bronto.com/v4">
       <soapenv:Header>
          <ns1:sessionHeader>
             <!--Optional:-->
             <sessionId>9c6348b9-b59d-4ce2-bb2d-4ae9493e3246</sessionId>
          </ns1:sessionHeader>
       </soapenv:Header>
       <soapenv:Body>
          <ns1:readContacts>
             <!--Optional:-->
             <filter>
                <!--Optional:-->
             </filter>
          </ns1:readContacts>
       </soapenv:Body>
    </soapenv:Envelope>

    However it works fine if I replace ns1 by v4.


    Hello

    Friday, July 05, 2013 1:11 PM
  • That makes sense, where does the ns1 come from?

    Or is this the request you're sending?

    Friday, July 05, 2013 1:15 PM
  • I am sending the request, you can see this ns1 while constructing the mapper, output messages.

    The header I am sending is :

    <ns1:sessionHeader xmlns:ns1="http://api.bronto.com/v4"><sessionId>fa9cb82e-88b8-42b8-a23b-da6e2ccdff56</sessionId></ns1:sessionHeader>

    Body part is:

    <ns1:readContacts xmlns:ns1="http://api.bronto.com/v4" />

    The header part I am sending is OK but the body is not constructed properly. I think ns1 issue is Ok, because xmlns:ns1="http://api.bronto.com/v4 is alredy set.

    Please ignore earlier message which I got from SOAP UI.


    Hello

    Friday, July 05, 2013 1:36 PM
  • It expects body part in the following format,

          <v4:readContacts>
             <!--Optional:-->
             <filter>
             </filter>
          </v4:readContacts>

    The empty filter part also required.


    Hello

    Friday, July 05, 2013 1:46 PM
  • Move the output of the looping functoid to the filter record
    • Marked as answer by Pabitra Dash Friday, July 05, 2013 2:24 PM
    Friday, July 05, 2013 2:04 PM
  • After your suggestion, now XML, header and body part constructed properly. However, still I get following SOAP request error.

    There was an error in your soap request. Please examine the request and try again.


    Hello

    Friday, July 05, 2013 2:15 PM
  • The session header I am sending is : <headers><ns1:sessionHeader xmlns:ns1="http://api.bronto.com/v4"><sessionId>20f47f3d-68cc-47ec-b056-3aaf48e1016e</sessionId></ns1:sessionHeader></headers>

    Which is fine I think.

    The output of Construction (Transform + Assignment) goes to a SEND shape. What should be the type of this shape, multi part MgsReadContacts or MgsReadContacts.parameters? I set it to multi part MgsReadContacts and same sent to send web service request whose type of also same multi part MgsReadContacts. Is this correct?


    Hello

    Friday, July 05, 2013 2:26 PM
  • Yes, that should be ok, please check your request and use SoapUI to test
    Friday, July 05, 2013 2:42 PM
  • I tested in SOAP UI. I get desired result. But Bronto returns a fault 'http://schemas.xmlsoap.org/soap/envelope/#Fault'.

    Hello

    Friday, July 05, 2013 2:47 PM
  • While creating multi part message for MgsReadContacts, should I require to creates nodes like sessionHeader and parameters? I name it sessionHeader and ReadContacts. Is this a problem? Please reply.

    Hello


    • Edited by Pabitra Dash Friday, July 05, 2013 2:58 PM MgsReadContacts
    Friday, July 05, 2013 2:55 PM
  • When creating the multipartmessage name one part parameters and the other one sessionheader. Mark the firstvas bodypart
    Friday, July 05, 2013 2:59 PM
  • Are these fixed and case sensitive?

    Hello

    Friday, July 05, 2013 3:00 PM
  • Hi, What is firstvas? Are these 'parameters' and 'sessionheader' case sensitive and fixed?

    Hello

    Friday, July 05, 2013 5:37 PM
  • That should be first as.

    Can you elaborate on how you created the Multipart MessageType and furthermore how the deployment looks like, i.e. how did you configure the sendport to Bronto?

    About the creation of the Bronto mulitpart messagetypes; one normally would consume the wsdl of the webservice you want to call from BizTalk. This way the BizTalk WCF Service Consuming Wizard will create the necessary artefacts like message- and porttypes, which you can use to call the webservice.

    Regards,

    René

    Saturday, July 06, 2013 10:00 AM
  • Port configuration is fine. Actually I did not set 'Message Body Part' property to 'True' in mufti part message. Now it is working fine after I set it properly.

    Thanks a lot for your valuable timely help.

    I am new to Biztalk. Please guide me the blogs, eBook and web links for BizTalk tutorial.


    Hello

    Saturday, July 06, 2013 1:27 PM
  • Pabitra,

    The BizTalk Technet Wiki is a good place to start.

    This also the has a reference to the BizTalk Virtual Labs

    Regards,

    René

    Saturday, July 06, 2013 1:49 PM
  • Hi Rene,

    Any idea how to avoid message transform and assignment in Orchestration? Can SOAP header be set in WCF Basic Http Adapter level? I was told to get session id through functoid. Somebody achieved this through 'Get Application Value' DB functoid. I was also to avoid transform and assignment construct in Orchestration. Any idea how to do this?


    Hello

    Monday, July 08, 2013 4:49 PM
  • Pabitra,

    1) What is the rationale behind trying to avoid a transform and assignment, as this is common practice for doing these kind of things.

    2) Setting SoapHeader in Adapter and using functoid are not related in anyway.

    Regards,

    René

    Monday, July 08, 2013 7:37 PM
  • I am working in a project where Schemas, Maps and Orchestrations are defined in separate projects.

    For scahemas there are two projects, Internal and external schemas.

    Orchestrations has a reference to Internal schema only (not Maps).

    In this project 'transforms and assignments' are not defined in Orchestrations and SOAP headers as well. The maps are attached in Send ports' inbound and outbound maps.

    functoids extensively used in maps.

    Hence I was trying to avoid 'transforms and assignments' in orchestrations.


    Hello

    Tuesday, July 09, 2013 1:19 AM
  • Pabitra,

    The separation of the different artifacts in separate projects is a best practice, where the Maps project in your case probably contains the maps for transforming the external schema into the internal one and vice versa.

    You say 'transforms and assignments' are not defined in Orchestrations', do you have more restrictions on using other artifacts form the toolbox? As I think these are common shapes to use within an orchestration.

    What about creating a folder within your Orchestrations project, that will hold maps solely used within orchestrations. These maps will transform messages used in the orchestrations.

    Regards,

    René

    Tuesday, July 09, 2013 9:50 AM
  • >>> where the Maps project in your case probably contains the maps for transforming the external schema into the internal one and vice versa.

    Correct.

    >>>You say 'transforms and assignments' are not defined in Orchestrations', do you have more restrictions on using other artifacts form the toolbox? >>>As I think these are common shapes to use within an orchestration.

    Other artifacts are used. 'transforms and assignments are used in Orchestrations but very few. In most of Orctrestration these are not used.

    Orchestrations project has only reference to 'Internal schema' project. Does not have reference to Maps and 'External Schema' Projs.

    >>>What about creating a folder within your Orchestrations project, that will hold maps solely used within orchestrations. These maps will transform >>>messages used in the orchestrations.

    As I said earlier Orchestrations does not have reference to 'Maps' project. Maps are bounded to Send port's inbound and outbound mappers properties. The complex logic is there in mapper through functoids. Even 'session id' is retrieved


    Hello

    Tuesday, July 09, 2013 10:13 AM
  • >>>>As I said earlier Orchestrations does not have reference to 'Maps' project. Maps are bounded to Send port's inbound and outbound mappers properties. The complex logic is there in mapper through functoids. Even 'session id' is retrieved

    I did not meant a reference to the Maps project, but a separate folder in the Orchestrations project named 'Maps'.

    I do not see how you would use functoids to get sessionId and get that into the SoapHeader form a map on a SendPort.

    Regards,

    René

    Tuesday, July 09, 2013 10:44 AM
  • >>> I did not meant a reference to the Maps project, but a separate folder in the Orchestrations project named 'Maps'.

    Yes I understand 'Maps' folder inside Orchestrations. In my project it is created but as I said earlier most of (around 80%) mapper are bind in send port.

    >>> I do not see how you would use functoids to get sessionId and get that into the SoapHeader form a map on a SendPort.

    The sample code I have (not Bronto, some other system), sessionId is retrieved through database functoid (Get Application Value). Yes, you are right attaching SOAP header would be a issue.


    Hello

    Tuesday, July 09, 2013 11:54 AM
  • Hi Rene,

    How can I cache 'session id'? Caching would help me not to send log in request every time. I will send first time or only when I would get error from the requested system. Please reply.

    Thanks,

    Pabitra


    Hello

    Tuesday, July 09, 2013 12:22 PM
  • Pabitra,

    You could use a helper class, that holds your cached sessionId. Richard Seroter did something similar when integrating BizTalk with SalesForce, look at this blogpost. About halfway is the class ForceToken.

    Regards,

    René

    • Marked as answer by Pabitra Dash Wednesday, July 10, 2013 10:29 AM
    Tuesday, July 09, 2013 7:41 PM
  • Hi Rene,

    Can I achieve this without multi part message? Because the project I am working, this type of message is not used. There are so many restrictions. I have posted some new questions today. Please go though those in your free time and reply if possible.


    Hello

    Wednesday, July 10, 2013 10:50 AM