Author |
Message
|
satya2481 |
Posted: Fri Dec 21, 2007 7:26 am Post subject: WSDL File and Message Set problem |
|
|
Disciple
Joined: 26 Apr 2007 Posts: 170 Location: Bengaluru
|
Hi All,
I have a requirement where in I need to create the message set from WSDL file and then call a webservice.
I am able to create the message set successfully.
The message flow receives MRM XML message. Some of the fields of this message should be mapped to the message set generated from WSDL file. The mapped message is the request message which will be sent to Webservice. The response should be parsed against the message set (This is the one which is created from WSDL file).
I would like to know is it possible to parse message against MRM XML mesage (WSDL).
I tried to first generate the message in XMLNS domain then this message passed to the RCD node (The properties are set to MRM XML domain). This is not working. Let me know whether I am doing correct or not?
Thank You in advance
satya _________________ IBM Certified Solution Developer WebSphere Message Broker V6.0
IBM Certified System Administrator WebSphere MQ V6.0 |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Dec 21, 2007 7:37 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I'm not sure how you passed that certification test if you don't understand how to do this?
You parse/validate data against a message set that's built from a WSDL the same way as you parse/validate data against any other message set.
It's also not clear what you mean by "This is not working". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
satya2481 |
Posted: Sat Dec 22, 2007 4:29 am Post subject: |
|
|
Disciple
Joined: 26 Apr 2007 Posts: 170 Location: Bengaluru
|
Hi Jefflowery,
Clearing of the certification not means I should know everything in the Message Broker, and for your information I have not scored 100 out of 100 in the certification. I think this much of information is sufficient about my certification.
Let me clear you about my requirement and what I tried.
I need to develop a message flow which looks like...
1. MQInputNode (MRM XML message - This message created from xsd)
2. Compute Node (To map MRM XML message to one more MRM XML message set fields. This second message definition created from WSDL file)
3. HTTPRequest Node (Send the SOAP Message to webservice)
4. ComputeNode (remove the HTTP header, map the webserice response message to MRM XML message)
5. MQOutputNode (Put the mesage back into Queue)
As per my knowledge I cant achive this in MRM domain. So First I used XMLNS domain in the first compute node and created the SOAP message and its body. This message sent to RCD node (Here i configured this node for MRM XML message, this is the one which is created from WSDL file, specifying "Envelope" as the message type).
Now I would like to know whether I am doing it correct or not ? How I need to create SOAP message being in the MRM domain. I mean suppose I want XML declaration in my message how I should code in the ESQL for MRM domain.
Hope now you got the requirement as well as my issue.... _________________ IBM Certified Solution Developer WebSphere Message Broker V6.0
IBM Certified System Administrator WebSphere MQ V6.0 |
|
Back to top |
|
 |
jefflowrey |
Posted: Sat Dec 22, 2007 5:29 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I don't see anything in your requirement that says that you can't use MRM.
I don't see anything in your requirement that seems different than the following scenario:
1) MQInputNode (MRM-CWF message - this message created from COBOL COPYBOOK)
2) Compute node(To map MRM-CWF message to an MRM-TDS message. This second message definition created from a C Header File)
3) MQOutput node (Send the TDS message to an MQ based service)
4) MQGet node (retrieve the response)
5) Compute node (Map the response back to an MRM CWF message)
6) MQOutput node (Send the response to the original caller)
What part of your knowledge says you can't do this in MRM?
Where are you getting errors or issues? What "isn't working", that you've tried?
Also, it makes it a bit easier, when working with web services in v6.0.x, to use the IA90 support pack nodes. With the 6.0.2.x version of the Toolkit, you can even automatically generate a stub of a flow to invoke a service - by dropping the WSDL on a flow! _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
satya2481 |
Posted: Sat Dec 22, 2007 3:27 pm Post subject: |
|
|
Disciple
Joined: 26 Apr 2007 Posts: 170 Location: Bengaluru
|
Yes, I am aware of the IA90 Support pack but in my current project I should not use this support pack.
Consider that I need to create a SOAP message to invoke a WebService. As part of this message I need to code like this
Code: |
SET OutputRoot.XMLNS.(XML.XmlDecl).(XML.Version) = '1.0';
SET OutputRoot.XMLNS.(XML.XmlDecl).(XML."Encoding") = 'UTF-8';
CREATE LASTCHILD OF OutputRoot.XMLNS NAMESPACE soap NAME 'Envelope';
SET OutputRoot.XMLNS.soap:Envelope.(XML.NamespaceDecl)xmlns:xsi = 'http://www.w3.org/2001/XMLSchema-instance';
SET OutputRoot.XMLNS.soap:Envelope.(XML.NamespaceDecl)xmlns:xsd = 'http://www.w3.org/2001/XMLSchema';
SET OutputRoot.XMLNS.soap:Envelope.(XML.NamespaceDecl)xmlns:soap = 'http://schemas.xmlsoap.org/soap/envelope/'; |
Since I have created a message set from WSDL file if I need to access an of the elements of this message I have to use "OutputRoot.MRM"
My question is how I need to create SOAP message accessing the fields from MRM domain? and how I need to validate my message against this message set.
Because of this what I have tried is
Create the SOAP message in XMLNS domain and then pass this message to RCD node. The properties of this node set to the message set which is created from WSDL file (Specify Envelope as the message type). Is this the only way of checking my constrcted message against the message set?
Thank you for your reply... _________________ IBM Certified Solution Developer WebSphere Message Broker V6.0
IBM Certified System Administrator WebSphere MQ V6.0 |
|
Back to top |
|
 |
jefflowrey |
Posted: Sat Dec 22, 2007 3:47 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
There's nothing different about building a SOAP message using MRM, than there is about building any other message using MRM.
Build the tree you want in OutputRoot.MRM. Set the validation properties of the Compute node to validate the message.
Yes, in version 6.0, you have to use a message set to validate XML data against a schema, regardless of whether the schema describes a Web Service or not.
In version 6.1, you can just include the schema in your bar file and use the XMLNSC parser, and tell it to validate against the schema.
The XMLNSC parser in v6.0 does not let you do this. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
satya2481 |
Posted: Wed Jan 02, 2008 12:49 am Post subject: |
|
|
Disciple
Joined: 26 Apr 2007 Posts: 170 Location: Bengaluru
|
Hi jefflowrey,
In order to build SOAP message I need to create the Envelope. For that I need to declare some namespaces. Now tell me if I am using MRM domain how you code the following
Code: |
SET OutputRoot.XMLNS.mySoap:Envelope.(XML.NamespaceDecl)xmlns:"SOAP-ENV" = 'http://schemas.xmlsoap.org/wsdl/soap/'; |
Are you going to code like
Code: |
SET OutputRoot.MRM.mySoap:Envelope.(XML.NamespaceDecl)xmlns:"SOAP-ENV" = 'http://schemas.xmlsoap.org/wsdl/soap/'; |
As per my knowledge this is not correct in MRM domain.
Thank You _________________ IBM Certified Solution Developer WebSphere Message Broker V6.0
IBM Certified System Administrator WebSphere MQ V6.0 |
|
Back to top |
|
 |
kimbert |
Posted: Wed Jan 02, 2008 3:06 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
|
Back to top |
|
 |
satya2481 |
Posted: Thu Jan 03, 2008 2:20 am Post subject: |
|
|
Disciple
Joined: 26 Apr 2007 Posts: 170 Location: Bengaluru
|
Thank you,
I have constructed the SOAP message and it is parsing against the message set successfully. I have first constructed the SOAP message in XMLNS domain. This message is passed to RCD node where in the MessageType is "Envelope" and the entire message is parsed successfully. The message set is created from the WSDL file. _________________ IBM Certified Solution Developer WebSphere Message Broker V6.0
IBM Certified System Administrator WebSphere MQ V6.0 |
|
Back to top |
|
 |
|