ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Need Return Context Info - Exception

Post new topic  Reply to topic
 Need Return Context Info - Exception « View previous topic :: View next topic » 
Author Message
Thripura Sundari
PostPosted: Wed Aug 03, 2005 2:29 am    Post subject: Need Return Context Info - Exception Reply with quote

Acolyte

Joined: 13 Jun 2005
Posts: 57
Location: Bangalore, India

Hi all,
I am trying to convert XML format into SOAP response format and I am getting Need return Context Info Exception. text 3143.
I am actually assigning the elements individually.
My trace after comverting the XML to SOAP Response and before the HTTPReply node is as follows:
Code:

(
  (0x01000000):Properties = (
    (0x03000000):MessageSet      = NULL
    (0x03000000):MessageType     = NULL
    (0x03000000):MessageFormat   = NULL
    (0x03000000):Encoding        = NULL
    (0x03000000):CodedCharSetId  = NULL
    (0x03000000):Transactional   = UNKNOWN
    (0x03000000):Persistence     = UNKNOWN
    (0x03000000):CreationTime    = NULL
    (0x03000000):ExpirationTime  = NULL
    (0x03000000):Priority        = NULL
    (0x03000000):ReplyIdentifier = NULL
    (0x03000000):ReplyProtocol   = 'MQ'
    (0x03000000):Topic           = NULL
  )
  (0x01000010):XMLNS      = (
    (0x05000018):                                                  = (
      (0x02000000): = ''
      (0x06000011): = '1.0'
      (0x06000012): = 'UTF-8'
    )
    (0x01000000)http://schemas.xmlsoap.org/soap/envelope/:Envelope = (
      (0x07000012)xmlns:SOAP-ENV                                 = 'http://schemas.xmlsoap.org/soap/envelope/'
      (0x07000012)xmlns:xsi                                      = 'http://www.w3.org/2001/XMLSchema-instance'
      (0x07000012)xmlns:xsd                                      = 'http://www.w3.org/2001/XMLSchema'
      (0x01000000)http://schemas.xmlsoap.org/soap/envelope/:Body = (
        (0x01000000)tns:ShipSearchPortType:ShipSearch = (
          (0x07000012)xmlns:ns1                                               = 'tns:ShipSearchPortType'
          (0x07000012)http://schemas.xmlsoap.org/soap/envelope/:encodingStyle = 'http://schemas.xmlsoap.org/soap/encoding/'
          (0x01000000):ShipSearchResponseBody                                 = (
            (0x07000012)xmlns:ns2 = 'http://tempuri.org/ShipSearch/definitions'
          )
          (0x01000000):ShipSearchResponse                                     = (
            (0x01000000):CruiseA = (
              (0x01000000):ShipDetailsOut = (
                (0x01000000):CruiseSailingId     = (
                  (0x02000000):                                              = '1'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:int'
                )
                (0x01000000):CruiseLineId        = (
                  (0x02000000):                                              = '1'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:int'
                )
                (0x01000000):DestinationCitycode = (
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
                (0x01000000):SailingDate         = (
                  (0x02000000):                                              = '2005-07-31 00:00:00'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
                (0x01000000):Duration            = (
                  (0x02000000):                                              = '8'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
                (0x01000000):preCrusingInfo      = (
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
                (0x01000000):postCrusingInfo     = (
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
              )
            )
            (0x01000000):CruiseB = (
              (0x01000000):ShipDetailsOut = (
                (0x01000000):CruiseSailingId     = (
                  (0x02000000):                                              = '1'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:int'
                )
                (0x01000000):CruiseLineId        = (
                  (0x02000000):                                              = '2'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:int'
                )
                (0x01000000):DestinationCitycode = (
                  (0x02000000):                                              = 'SFO'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
                (0x01000000):SailingDate         = (
                  (0x02000000):                                              = '8/3/2005 3:50:12 PM'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
                (0x01000000):Duration            = (
                  (0x02000000):                                              = '5'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
                (0x01000000):preCrusingInfo      = (
                  (0x02000000):                                              = 'TBD'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
                (0x01000000):postCrusingInfo     = (
                  (0x02000000):                                              = 'TBD'
                  (0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'xsd:string'
                )
              )
            )
          )
        )
      )
    )
  )
)


The values that come here are correct. I am not able to make out what is wrong. Can you please help me?
Regards,
Thripura Sundari
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Wed Aug 03, 2005 2:57 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi,
I would not even go to the second line of the code after seeing that the properties have messageSet etc as NULL.....How will WBI know what it is supposed to reply to....

R u missing out on setting these values ??
Back to top
View user's profile Send private message Send e-mail
Thripura Sundari
PostPosted: Wed Aug 03, 2005 3:08 am    Post subject: Reply with quote

Acolyte

Joined: 13 Jun 2005
Posts: 57
Location: Bangalore, India

Hi,
I thought that would be the reason, so i tried setting the Message Set alone in the OutputRoot properties, but didnt help.
I still get the same problem. In the message set, I have provided a message type as wsdl:output which is the same as the one I get. I dont understand what is the problem.
Please help.
Regards,
Thripura Sundari
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Wed Aug 03, 2005 4:11 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi
I have not used a SOAP but the overall logic of copying the headers should apply, I guess....

After doing that, change the set,format and type....

How does the HTTPReply node know what to reply to ??
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Wed Aug 03, 2005 4:16 am    Post subject: Re: Need Return Context Info - Exception Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Thripura Sundari wrote:
I am getting Need return Context Info Exception. text 3143.


Where are you getting this?

Is this a BIP error? An HTTP Error? An application error on the other side?

Also,
WBI Info Center->Message Broker ->Reference->Message Flows ->Built-in-Nodes wrote:
If you include an HTTPReply node in a message flow, you must either include an HTTPInput node in the same flow, or the message must be received from another flow that started with an HTTPInput node. The response is associated with the reply by a request identifier that is stored in LocalEnvironment by the HTTPInput node.

_________________
I am *not* the model of the modern major general.


Last edited by jefflowrey on Wed Aug 03, 2005 4:23 am; edited 1 time in total
Back to top
View user's profile Send private message
Thripura Sundari
PostPosted: Wed Aug 03, 2005 4:22 am    Post subject: Reply with quote

Acolyte

Joined: 13 Jun 2005
Posts: 57
Location: Bangalore, India

Hi,
We found that the problem is because of the HTTP Context is not carries from HTTP Input to the HTTP reply. This is because they are in different message flows. I am using the Aggregate set of nodes, so, they are in different message flows. Is it possible to get the aggregation message flows in to one flow or how do I pass on the context where the response has to be sent?
Regards,
Thripura Sundari
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Aug 03, 2005 4:25 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I would say that you need to copy the appropriate pieces of the LocalEnvironment into the Aggregate Request messages, so that you can rebuild it when you get aggregate replies.

Or store it into a database table on your own.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Thripura Sundari
PostPosted: Fri Aug 05, 2005 4:50 am    Post subject: Reply with quote

Acolyte

Joined: 13 Jun 2005
Posts: 57
Location: Bangalore, India

Hi Jeff,
Actually, the process is like this:
I need to receive a SOAP Request, convert it to XML and send it to two different places, 1- make a database call, and retrieve some response.
2- convert the xml to SOAP format, send it to another web service and get the SOAP response and convert it to XML

Then, finally combine these two XMLs in the BuildOutput (similar to the airline example) of the Aggregate node and send it to an MQ Output node. Then, I have another compute node where I get the message from the MQ Output node and convert the XML (combined) to XMLNS and send as response through the HTTP Reply.

I now changed the message flow such that the HTTP request and HTTP reply nodes are in the same flow.
I then set
Code:
SET Environment.mydestMQMD = InputLocalEnvironment;

in the compute node immediately after the HTTP request node. Then, i set
Code:
      SET OutputLocalEnvironment=Environment.mydestMQMD;

in the node before the HTTP Reply node.

I have one inner flow where the database call and the call to the web service are being made and sent to the REPLIES Queue. When I get the data in the BuildOutput compute node, I lose the Environment Information.

Actually, I had set Environment for the web service so that the request and response work fine for the web service which I am calling with in the flow.

I am not getting the localenvironment information after the aggregate reply node.
What is the solution for this?
I think I am confusing between Environment and LocalEnvironment and their scope.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Aug 05, 2005 4:55 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Thripura Sundari wrote:
I then set
Code:
SET Environment.mydestMQMD = InputLocalEnvironment;

in the compute node immediately after the HTTP request node.

I would do this immediately after the HTTPInput node.

More than that, I can't help you with right now. If I find time later today or tomorrow, I'll see if I can prototype something that works.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Thripura Sundari
PostPosted: Fri Aug 05, 2005 7:23 pm    Post subject: Reply with quote

Acolyte

Joined: 13 Jun 2005
Posts: 57
Location: Bangalore, India

Hi Jeff,
Thanks. That is what I had done. I have given the
Quote:
SET Environment.mydestMQMD = InputLocalEnvironment;
after the HTTP Input node only.
Also, I had written that
Quote:
I now changed the message flow such that the HTTP request and HTTP reply nodes are in the same flow.
. I made it such that the HTTP Input Node and the HTTP Reply nodes are in the same Message flow, actually what you have suggested now.

Sorry, I am not confused between HTTP Input and HTTP Request nodes, but that I get the request at the HTTP Input node from an external web service, so, I just mentioned it as request. Sorry for the confusion.

Thanks Jeff for your help.

Regards,
Thripura Sundari.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Need Return Context Info - Exception
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.