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 » Aggregate Reply and Namespaces

Post new topic  Reply to topic
 Aggregate Reply and Namespaces « View previous topic :: View next topic » 
Author Message
MrSmith
PostPosted: Mon Mar 30, 2009 3:47 am    Post subject: Aggregate Reply and Namespaces Reply with quote

Master

Joined: 20 Mar 2008
Posts: 215

Have read most of the namespace relevant info and found nothing that fits my issue.

Have orchestration that has propagation of multiple requests to backend system who in turn replies with SOAP encased response. Each response is then held in the folder by the aggregate reply node, so for instance there are 3 iterations of the folder. In the first incoming response folder the backend has supplied namespace aware elements to construct the response of which one of the elements (matters not where in the response) has a default namespace (i.e xlmns='http//.....blah...blah - NO identity) and for any other subsequent declared namespace assigns a indent (i.e xlmns:a='http://..nextnamespacedecl...) and so on. The problem is and I assume its here is that when the collated reply of my 3 responses is sent to the following node (a compute node in this case) the trace shows an error saying that the (default) namespace has already been defined - that is there are more than one xlmns='http//:....... declarations.
My problem is this namespace construction is not within my control (backend supplies and quite assumes each repsonse is self contained) and apart from me checking each namespace declaration is unique is kinda pants!!!
Is this a broker bug you think as the XML4JC parser quite rightly says you can't have the default namespace declared twice in the same document but it is it that is constructing the doucument. If this is confusing then i can supply some example messages but hopefully it is understandable. thanks.
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Mar 30, 2009 4:24 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
the trace shows an error saying that the (default) namespace has already been defined - that is there are more than one xlmns='http//:....... declarations.
Please can you take a user trace, and post the relevant part of it here. That way, we get to the see the BIP number and the full text of the error message.
Back to top
View user's profile Send private message
MrSmith
PostPosted: Mon Mar 30, 2009 6:58 am    Post subject: Reply with quote

Master

Joined: 20 Mar 2008
Posts: 215

Kimbert - thanks for reply - the trace bit was quite large so here is the Exception piece and a example of the incoming response

<RecoverableException><File>/build/S600_P/src/DataFlowEngine
/ImbComputeNode.cpp</File><Line>464</Line>
<Function>ImbComputeNode::evaluate</Function>
<Type>ComIbmComputeNode</Type>
<Name>O_GENERIC_CNA_CBS_PROPAGATE_INTER2#FCMComposite_1_1.TIS_CBS_ACCOUNT_RELATED_PARTIES_GET_SUB#FCMComposite_1_2</Name>
<Label>O_GENERIC_CNA_CBS_PROPAGATE_INTER2.TIS_CBS_ACCOUNT_RELATED_PARTIES_GET_SUB.SOAP_IXML</Label>
<Catalog>BIPv600</Catalog><Severity>3</Severity>
<Number>2230</Number><Text>Caught exception and
rethrowing</Text><RecoverableException><File>/build/S600_P
/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp</File>
<Line>589</Line><Function>SqlStatementGroup::execute</Function>
<Type>ComIbmComputeNode</Type>
<Name>O_GENERIC_CNA_CBS_PROPAGATE_INTER2#FCMComposite_1_1.TIS_CBS_ACCOUNT_RELATED_PARTIES_GET_SUB#FCMComposite_1_2</Name>
<Label>O_GENERIC_CNA_CBS_PROPAGATE_INTER2.TIS_CBS_ACCOUNT_RELATED_PARTIES_GET_SUB.SOAP_IXML</Label>
<Catalog>BIPv600</Catalog><Severity>3</Severity>
<Number>2488</Number><Text>Error detected, rethrowing</Text>
<Insert><Type>5</Type>
<Text>.TIS_CBS_ACCOUNT_RELATED_PARTIES_GET_SUB_SOAP_IXML.Main</Text>
</Insert><Insert><Type>5</Type><Text>23.5</Text></Insert>
<Insert><Type>5</Type><Text>PROPAGATE TO TERMINAL
&apos;out&apos; FINALIZE DEFAULT DELETE NONE;</Text></Insert>
<ParserException><File>/build/S600_P/src/DataFlowEngine
/ImbRootParser.cpp</File><Line>551</Line>
<Function>ImbRootParser::parseNextItem</Function>
<Type>ComIbmAggregateReplyNode</Type>
<Name>O_GENERIC_CNA_CBS_PROPAGATE_INTER2#FCMComposite_1_6</Name>
<Label>O_GENERIC_CNA_CBS_PROPAGATE_INTER2.GENERIC_CNA_CBS_PROPAGATE_2</Label>
<Catalog>BIPv600</Catalog><Severity>2</Severity>
<Number>5902</Number><Text>Exception whilst parsing</Text>
<Insert><Type>5</Type><Text>Root</Text></Insert><Insert>
<Type>5</Type><Text>XMLNSC</Text></Insert><Insert>
<Type>5</Type>
<Text>...........SOME TEXT IN HERE......</Text>
</Insert><ParserException><File>/build/S600_P/src/MTI/MTIforBroker
/GenXmlParser3/ImbGenericXmlParser.cpp</File><Line>350</Line>
<Function>ImbGenericXmlParser::parseLastChild</Function><Type/>
<Name/><Label/><Catalog>BIPv600</Catalog>
<Severity>3</Severity><Number>5009</Number><Text>XML Parsing
Errors have occurred</Text><ParserException><File>/build/S600_P
/src/MTI/MTIforBroker/GenXmlParser3
/ImbGenericXmlAsgardParser.cpp</File><Line>935</Line>
<Function>ImbGenericXmlAsgardParser::error</Function>
<Type>ComIbmAggregateReplyNode</Type>
<Name>O_GENERIC_CNA_CBS_PROPAGATE_INTER2#FCMComposite_1_6</Name>
<Label>O_GENERIC_CNA_CBS_PROPAGATE_INTER2.GENERIC_CNA_CBS_PROPAGATE_2</Label>
<Catalog>BIPv600</Catalog><Severity>3</Severity>
<Number>5004</Number><Text>An error has been reported by the
BIPXML4C component.</Text><Insert><Type>2</Type>
<Text>247</Text></Insert><Insert><Type>5</Type><Text>Null
pointer</Text></Insert><Insert><Type>2</Type><Text>1</Text>
</Insert><Insert><Type>2</Type><Text>168</Text></Insert>
<Insert><Type>5</Type><Text>The attribute &apos;xmlns&apos; is
already used in element &apos;GetAccountRelatedPartiesResponse&apos;
</Text></Insert><Insert><Type>5</Type>
<Text>X.IS_CBS_ACCOUNT_RELATED_PARTIES_GET.RESP</Text>
</Insert></ParserException></ParserException></ParserException>
</RecoverableException></RecoverableException>



as you can see in the response there is the GetAccountRelatedPartiesRespons element whic has the default namespace to it - and imagine now 3 x responses.

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><GetAccountRelatedPartiesResponse xmlns="http://xxx.com/Group/Savings/Contract/CoreBusiness/KEVAccountService/v1"><Header xmlns:a="http://xxxx.com/Group/Savings/Schema/CoreBusiness/v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:ApplicationID>0004</a:ApplicationID><a:RequestID>4e597918-1d33-11de-88b6-0aa0a3030000</a:RequestID><a:RequestName>GetAccountRelatedPartiesRequest</a:RequestName><a:SessionID>4e598c46-1d33-11de-88b6-0aa0a3030000</a:SessionID><a:UserIdentity>1065039</a:UserIdentity><a:TraceId>0004</a:TraceId><a:BrandId>00434</a:BrandId></Header><GetAccountRelatedPartiesResponseData xmlns:a="http://xxxx.com/Group/Savings/Schema/CoreBusiness/KEVAccountService/v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:RelatedPartyList><a:AccountRelatedParty><a:OriginalSortCode>126666</a:OriginalSortCode><a:OriginalAccountNumber>01066666</a:OriginalAccountNumber><a:CustomerKey>000TESTC0C4.666</a:CustomerKey><a:CustomerName>KIRSTY KK6969696</a:CustomerName><a:DateOfBirth>1981-09-12T00:00:00</a:DateOfBirth><a:RelationshipType>OWN</a:RelationshipType><a:OriginalRelationshipType>OWN</a:OriginalRelationshipType><a:OriginalAccountAddressInd>1</a:OriginalAccountAddressInd><a:OriginalTelephoneBankingInd>NO</a:OriginalTelephoneBankingInd><a:EffectiveDateOfRelationship>2008-08-21T00:00:00</a:EffectiveDateOfRelationship><a:ExpiryDate>9999-12-31T00:00:00</a:ExpiryDate></a:AccountRelatedParty></a:RelatedPartyList><a:CurrentPageNumber>1</a:CurrentPageNumber><a:PagerKey xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><b:string i:nil="true"/></a:PagerKey><a:CrcKey>18063</a:CrcKey><a:MailingName>MRS C TESTC</a:MailingName></GetAccountRelatedPartiesResponseData><ResponseOutcome xmlns:a="http://xxxx.com/Group/Savings/Schema/CoreBusiness/v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:Outcome>Success</a:Outcome><a:Messages/></ResponseOutcome></GetAccountRelatedPartiesResponse></s:Body></s:Envelope>
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Mar 30, 2009 7:38 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Any reason why you did not post your XML like this?
Code:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <GetAccountRelatedPartiesResponse xmlns="http://xxx.com/Group/Savings/Contract/CoreBusiness/KEVAccountService/v1">
      <Header xmlns:a="http://xxxx.com/Group/Savings/Schema/CoreBusiness/v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:ApplicationID>0004</a:ApplicationID>
        <a:RequestID>4e597918-1d33-11de-88b6-0aa0a3030000</a:RequestID>
        <a:RequestName>GetAccountRelatedPartiesRequest</a:RequestName>
        <a:SessionID>4e598c46-1d33-11de-88b6-0aa0a3030000</a:SessionID>
        <a:UserIdentity>1065039</a:UserIdentity>
        <a:TraceId>0004</a:TraceId>
        <a:BrandId>00434</a:BrandId>
      </Header>
      <GetAccountRelatedPartiesResponseData xmlns:a="http://xxxx.com/Group/Savings/Schema/CoreBusiness/KEVAccountService/v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:RelatedPartyList>
          <a:AccountRelatedParty>
            <a:OriginalSortCode>126666</a:OriginalSortCode>
            <a:OriginalAccountNumber>01066666</a:OriginalAccountNumber>
            <a:CustomerKey>000TESTC0C4.666</a:CustomerKey>
            <a:CustomerName>KIRSTY KK6969696</a:CustomerName>
            <a:DateOfBirth>1981-09-12T00:00:00</a:DateOfBirth>
            <a:RelationshipType>OWN</a:RelationshipType>
            <a:OriginalRelationshipType>OWN</a:OriginalRelationshipType>
            <a:OriginalAccountAddressInd>1</a:OriginalAccountAddressInd>
            <a:OriginalTelephoneBankingInd>NO</a:OriginalTelephoneBankingInd>
            <a:EffectiveDateOfRelationship>2008-08-21T00:00:00</a:EffectiveDateOfRelationship>
            <a:ExpiryDate>9999-12-31T00:00:00</a:ExpiryDate>
          </a:AccountRelatedParty>
        </a:RelatedPartyList>
        <a:CurrentPageNumber>1</a:CurrentPageNumber>
        <a:PagerKey xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <b:string i:nil="true"/>
        </a:PagerKey>
        <a:CrcKey>18063</a:CrcKey>
        <a:MailingName>MRS C TESTC</a:MailingName>
      </GetAccountRelatedPartiesResponseData>
      <ResponseOutcome xmlns:a="http://xxxx.com/Group/Savings/Schema/CoreBusiness/v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:Outcome>Success</a:Outcome>
        <a:Messages/>
      </ResponseOutcome>
    </GetAccountRelatedPartiesResponse>
  </s:Body>
</s:Envelope>
I can't see anything wrong with that XML document. Even if GetAccountRelatedPartiesResponse was repeated, the scope of the default namespace would only affect that element and its child elements.
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 » Aggregate Reply and Namespaces
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.