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 » Tree trace

Post new topic  Reply to topic Goto page 1, 2  Next
 Tree trace « View previous topic :: View next topic » 
Author Message
nk
PostPosted: Thu Jul 05, 2012 2:45 am    Post subject: Tree trace Reply with quote

Novice

Joined: 05 Jul 2012
Posts: 19

i've message set
Code:
 CstInfo
     CstDtl
         {Local ComplexType}
              CstSrchKeys
                   CstAttr
                         CstAttrName     
                         CstAttrValue






but when i'm doing mapping for the field 'CstAttrName', i'm getting exception while parsing


(0x01000000:Name ):ParserException = (
(0x03000000:NameValue):File = 'F:\build\S700_P\src\MTI\MTIforBroker\GenXmlParser4\ImbXMLNSCDocHandler.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 627 (INTEGER)
(0x03000000:NameValue):Function = 'ImbXMLNSCDocHandler::handleParseErrors' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmWSInputNode' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 5026 (INTEGER)
(0x03000000:NameValue):Text = 'A schema validation error has occurred while validating the message tree' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '5012' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '1' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '1' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '4898' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'cvc-complex-type.3.2: Attribute "NS1:CstAttrName" is not allowed to appear in element "NS1:CstAttr".' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '/Root/XMLNSC' (CHARACTER)
)
)
Code:


Last edited by nk on Thu Jul 05, 2012 5:02 am; edited 1 time in total
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Jul 05, 2012 4:56 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Please use the [Edit] button and add [c o d e] tags around the trace and the message structure. It's not difficult, and it will make it a lot easier for us to read your question.
( You need to log in to make the [Edit] button appear )
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 05, 2012 5:38 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Why have you built a message set when you're using the XMLNSC domain?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Jul 05, 2012 5:41 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
Why have you built a message set when you're using the XMLNSC domain?
Nothing wrong with that - XMLNSC ( in v6.1 and v7 ) uses message sets for validation.
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Jul 05, 2012 5:46 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Your XML document does not match the xsds in the message set. The xsds are created from the message definition files. You may *think* that your message set is correct, but it is very likely that XMLNSC is correct. Unfortunately, posting the structure does not help because we cannot see the details associated with the names. Maybe you have defined CstAttrName as an element instead of an attribute?

If you cannot find the problem, then extract the smallest relevant part of the message definition file and paste it here - in [c o d e] tags please.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 05, 2012 5:59 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

kimbert wrote:
Quote:
Why have you built a message set when you're using the XMLNSC domain?
Nothing wrong with that - XMLNSC ( in v6.1 and v7 ) uses message sets for validation.


Point taken. I've have expected the OP to say he had a schema rather than a message set in that context, but perhaps that's me being pedantic.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Jul 05, 2012 6:13 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

@Vitor: Yes - you're right about that. The OP's terminology was a smidgen short of perfection.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 05, 2012 6:36 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

kimbert wrote:
@Vitor: Yes - you're right about that. The OP's terminology was a smidgen short of perfection.




I've not heard "smidgen" in years! I'm getting flashbacks to my childhood....

.....yeeeeeeeeeeeeeessssssssssssshhhhhhhhhhhhhh...............
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
nk
PostPosted: Fri Jul 06, 2012 6:04 am    Post subject: Reply with quote

Novice

Joined: 05 Jul 2012
Posts: 19

@Vitor

@Kimbert in the msg set it's CstAttrName is an element which is coming under CstAttr and i've done mapping like

SET OutputRoot.ns1:CstInfo.ns1:CstDetl.ns1:CstSrchKeys.ns1:CstAtt.ns1:CstAttrValue = InputRoot.ns2:CstDtl.ns2:CstSrchKeys.ns2:CstAtt.Value;

OutRoot which is to be created according to the input coming from upstream

There is some more field at level "CstDtl". Here i'm not getting any error.
Back to top
View user's profile Send private message
kimbert
PostPosted: Fri Jul 06, 2012 6:26 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
in the msg set it's CstAttrName is an element
That's your problem then. The XMLNSC parser has clearly told you that it is an attribute in your input XML. You should change it to an attribute in your message set.
Please note: XMLNSC does not use the XML physical format - that is for MRM only. You need to make CstAttrName a *real* attribute in the *logical* model.

If that does not work then please do the following:
- Open the message definition file in a text editor, and find the definition of element 'CstAttr'.
- Paste the definition of 'CstAttr' here. If the complex type is a global complex type, then please paste the complex type defintion instead.
- Paste a copy of your input XML ( or if that is too large, the part that relates to element CstAttr )
Back to top
View user's profile Send private message
nk
PostPosted: Mon Jul 09, 2012 2:19 am    Post subject: Reply with quote

Novice

Joined: 05 Jul 2012
Posts: 19

XSD for the generating xml (OutputRootRef part)
Code:
<xsd:complexType name="CstAttrType">
      <xsd:sequence>
         <xsd:element name="CstAttrName" type="String1"/>
         <xsd:element name="CstAttrValue" type="xsd:string"/>
         <xsd:element minOccurs="0" name="CstAttrDesc" type="xsd:string"/>
      </xsd:sequence>
</xsd:complexType>




Input XML :

Code:
<CstDtls>
   <CstComponent>token</CstComponent>
   <CstComponentValue>3.1E0</CstComponentValue>
   <CstSrchKeys>
      <CstAttr Name="nk" Value="nk"/>
   </CstSrchKeys>
</CstDetails>


whenever i setting validation as none i'm getting output as
(transformed XML)
Code:
<NS1:CstSrchKeys>
      <NS1:CstAttr NS1:CstAttrName="nk" NS1:CstAttrValue="nk"/>
</NS1:CstSrchKeys>
[/code]

Last edited by nk on Mon Jul 09, 2012 4:09 am; edited 2 times in total
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Jul 09, 2012 3:29 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

I'm very confused. Your xsd is wrong in at least two ways:
- the names do not match the names in the input XML
- the attributes are modelled as elements

Do you understand what an attribute is? Do you understand how to create an attribute in your message definition?

Quote:
whenever i setting validation as none i'm getting output as...
Not sure whether you think this is a problem...but let's deal with one problem at a time. We can return to this when you have corrected your message definition.
Back to top
View user's profile Send private message
nk
PostPosted: Mon Jul 09, 2012 3:47 am    Post subject: Reply with quote

Novice

Joined: 05 Jul 2012
Posts: 19

actually i'm doing mapping in which it requires to transform one format of xml's into other format. for this i've two msg sets(given by client) one for incoming msg(XML) and other for transforming msg(XML). in the below case i dont hv to do with anything with d msg set for incoming xml. And mapping is done in the following ways


Code:
SET OutputRootRef.A:CstInfo.A:CstDtl.A:CostSearchKeys.A:CstAttr.A:CstAttrName  = InputRootRef.B:CstDtl.B:CstSrchKeys.B:CstAttr.Name
SET OutputRootRef.A:CstInfo.A:CstDtl.A:CostSearchKeys.A:CstAttr.A:CstAttrValue = InputRootRef.B:CstDtl.B:CstSrchKeys.B:CstAttr.Value;      
           
[/code]
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Jul 09, 2012 3:54 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Please - we need to discuss one problem at a time. You have a problem with your input message set. It does not match your input XML. Fix that first. Do not discuss any other problem until you have fixed that.
Back to top
View user's profile Send private message
nk
PostPosted: Mon Jul 09, 2012 4:08 am    Post subject: Reply with quote

Novice

Joined: 05 Jul 2012
Posts: 19

Above XSd is for the generating XML (OutputRootRef part). i"m just taking taking values from the input xml in following way

Code:
SET OutputRootRef.A:CstInfo.A:CstDtl.A:CostSearchKeys.A:CstAttr.A:CstAttrName  = InputRootRef.B:CstDtl.B:CstSrchKeys.B:CstAttr.Name

the ouput xml which is being generated is having 'CstAttrName' and 'CstAttrValue' as an attributes but it should be element according to the above code.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Tree trace
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.