Author |
Message
|
Paul D |
Posted: Mon Jul 07, 2008 7:17 pm Post subject: Incorrect parser in SOAP Envelope revisited |
|
|
 Master
Joined: 16 May 2001 Posts: 200 Location: Green Bay Packer Country
|
I'm doing some web services development with the flow acting as a web service. I'm using the SOAP Input and Reply nodes and also the SOAP extract and envelope nodes. I have the flow working fine when I use the "generate the header" option in the SOAP envelope node. When I try and use the exact same SOAP envelope that I extracted from the request in the SOAP extract node, the flow does not work. That's the only difference. As I mentioned, I'm using the SOAP Input node and saving the envelope immediately afterward, so I'm not sure what could be wrong with it. I'm saving it to and retrieving it from the default location in the Local Environment and it's all in the same flow. The saved envelope after the extract looks like this.
Code: |
(0x01000000):SOAP = (
(0x01000000):Envelope = (
(0x01000000):SOAP = ( ['SOAP' : 0x43225a0]
(0x01000000):Context = ( ['xmlnsc' : 0x4322710]
(0x03000100):operation = 'GetFieldRepPeopleByJobFunctionOperation' (CHARACTER)
(0x03000100):operationType = 'REQUEST_RESPONSE' (CHARACTER)
(0x03000100):portType = 'GetFieldRepPeopleByJobFunction' (CHARACTER)
(0x03000100):port = 'GetFieldRepPeopleByJobFunction' (CHARACTER)
(0x03000100):service = 'GetFieldRepPeopleByJobFunctionService' (CHARACTER)
(0x03000100):fileName = 'C:\Documents and Settings\All Users\Application Data\IBM\MQSI/components/WBRK61_DEFAULT_BROKER/1b762f73-1a01-0000-0080-d302a9d94d57/config/XSD/GetFieldRepPeopleByJobFunction001MessageSet/service/broker/nm/GetFieldRepPeopleByJobFunction001.wsdl' (CHARACTER)
(0x03000000):SOAP_Version = '1.1' (CHARACTER)
(0x01000000):Namespace = (
(0x03000102)http://www.w3.org/2000/xmlns/:q0 = 'http://nm.broker.service' (CHARACTER)
(0x03000102)http://www.w3.org/2000/xmlns/:soapenv = 'http://schemas.xmlsoap.org/soap/envelope/' (CHARACTER)
(0x03000102)http://www.w3.org/2000/xmlns/:xsd = 'http://www.w3.org/2001/XMLSchema' (CHARACTER)
(0x03000102)http://www.w3.org/2000/xmlns/:xsi = 'http://www.w3.org/2001/XMLSchema-instance' (CHARACTER)
)
)
(0x01000000):Header =
)
)
) |
Is there any reason why I can't use what I saved off directly in the SOAP Envelope node? Is there some part of this that I should be referencing and not the whole thing?
Envelope Destination on Extract is
Code: |
$LocalEnvironment/SOAP/Envelope |
And existing envelope location in Envelope is
Code: |
$LocalEnvironment/SOAP/Envelope |
Here's the error message again...
Code: |
BIP4367E: The method ''evaluate'' in Java node ''SOAPEnvelope'' has thrown the following exception: 'java.lang.RuntimeException: A message using an incorrect parser (SOAP) was detected in node: SOAPEnvelope'. |
_________________ Thanks!!!
Paul D |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jul 07, 2008 7:27 pm Post subject: Re: Incorrect parser in SOAP Envelope revisited |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Paul D wrote: |
I'm doing some web services development with the flow acting as a web service. I'm using the SOAP Input and Reply nodes and also the SOAP extract and envelope nodes. I have the flow working fine when I use the "generate the header" option in the SOAP envelope node. When I try and use the exact same SOAP envelope that I extracted from the request in the SOAP extract node, the flow does not work. That's the only difference. As I mentioned, I'm using the SOAP Input node and saving the envelope immediately afterward, so I'm not sure what could be wrong with it. I'm saving it to and retrieving it from the default location in the Local Environment and it's all in the same flow. The saved envelope after the extract looks like this.
Is there any reason why I can't use what I saved off directly in the SOAP Envelope node? Is there some part of this that I should be referencing and not the whole thing?
Envelope Destination on Extract is
Code: |
$LocalEnvironment/SOAP/Envelope |
And existing envelope location in Envelope is
Code: |
$LocalEnvironment/SOAP/Envelope |
Here's the error message again...
Code: |
BIP4367E: The method ''evaluate'' in Java node ''SOAPEnvelope'' has thrown the following exception: 'java.lang.RuntimeException: A message using an incorrect parser (SOAP) was detected in node: SOAPEnvelope'. |
|
So what steps have you taken to ensure the parser on the Environment node?
Like create LASTCHILD of LocalEnvironment/SOAP Domain 'XMLNS' name 'Envelope'; ?
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
kimbert |
Posted: Tue Jul 08, 2008 3:32 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
fjp_saper : Not sure about "Domain 'XMLNS'". Wouldn't "Domain 'SOAP'" be more appropriate? |
|
Back to top |
|
 |
mgk |
Posted: Tue Jul 08, 2008 4:21 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
You should not need to use the SOAPEnvelope Node with the SOAP Domain, as the SOAPRequest and SOAPReply nodes with automatically add a SOAPEnvelope if needed to the message entering the node. Ideally you would just just the SOAP Domain throughout your flow if possible. _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jul 08, 2008 10:57 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
kimbert wrote: |
fjp_saper : Not sure about "Domain 'XMLNS'". Wouldn't "Domain 'SOAP'" be more appropriate? |
Thanks for setting me straight Kimbert. I am not familiar enough with the 6.1 features yet.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Paul D |
Posted: Sun Aug 10, 2008 5:15 pm Post subject: |
|
|
 Master
Joined: 16 May 2001 Posts: 200 Location: Green Bay Packer Country
|
Just wanted to comment back on this one. I read the following series from developerworks that Matthew and Rob wrote:
http://www.ibm.com/developerworks/webservices/library/ws-soapnode/
And this answered all the immediate questions that I had. I'd definitely suggest that anyone that is going to use these nodes give these articles a read. Thanks Matthew and Rob for writing these!!! The manuals are really thin on the use of these nodes and these articles helped tremendously. _________________ Thanks!!!
Paul D |
|
Back to top |
|
 |
Paul D |
Posted: Sun Aug 10, 2008 6:08 pm Post subject: |
|
|
 Master
Joined: 16 May 2001 Posts: 200 Location: Green Bay Packer Country
|
Here's another related question. I have the following context in my message:
Code: |
(0x01000000):Namespace = (
(0x03000102)http://www.w3.org/2000/xmlns/:q0 = 'http://nm.broker.service.GetFieldRepPeopleByJobFunctionOperation' (CHARACTER)
(0x03000102)http://www.w3.org/2000/xmlns/:soapenv = 'http://schemas.xmlsoap.org/soap/envelope/' (CHARACTER)
(0x03000102)http://www.w3.org/2000/xmlns/:xsd = 'http://www.w3.org/2001/XMLSchema' (CHARACTER)
(0x03000102)http://www.w3.org/2000/xmlns/:xsi = 'http://www.w3.org/2001/XMLSchema-instance' (CHARACTER)
) |
I want to get at the value of the qO namespace and assign it to a value in the environment tree. Here's what I was trying but it was not working.
Code: |
SET Environment.Variables.RoutingData.SourceMessage.Namespace = Root.SOAP.Context.Namespace.(SOAP.NamespaceDecl)xmlns:"q0"; |
Any ideas? _________________ Thanks!!!
Paul D |
|
Back to top |
|
 |
Paul D |
Posted: Sun Aug 10, 2008 6:24 pm Post subject: |
|
|
 Master
Joined: 16 May 2001 Posts: 200 Location: Green Bay Packer Country
|
OK, got it. I could not use xmlns directly, I did this:
Code: |
SET Environment.Variables.RoutingData.SourceMessage.Namespace = Root.SOAP.Context.Namespace.(SOAP.NamespaceDecl)"http://www.w3.org/2000/xmlns/":q0; |
_________________ Thanks!!!
Paul D |
|
Back to top |
|
 |
kotagiriaashish |
Posted: Tue Aug 16, 2011 7:34 am Post subject: |
|
|
 Disciple
Joined: 06 Aug 2011 Posts: 165
|
Paul D wrote: |
Just wanted to comment back on this one. I read the following series from developerworks that Matthew and Rob wrote:
http://www.ibm.com/developerworks/webservices/library/ws-soapnode/
And this answered all the immediate questions that I had. I'd definitely suggest that anyone that is going to use these nodes give these articles a read. Thanks Matthew and Rob for writing these!!! The manuals are really thin on the use of these nodes and these articles helped tremendously. |
I went through the post..but was unable to find the reason for this error. could you please explain.. i have the same parameters set too.. |
|
Back to top |
|
 |
|