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 » Regex pattern error - broker 6.0

Post new topic  Reply to topic
 Regex pattern error - broker 6.0 « View previous topic :: View next topic » 
Author Message
Bartez75
PostPosted: Wed Nov 25, 2009 6:42 am    Post subject: Regex pattern error - broker 6.0 Reply with quote

Voyager

Joined: 26 Oct 2006
Posts: 80
Location: Poland, Wroclaw

------
Update to this: I got info that this pattern is wrong somehow so I will maybe get a new xsd schema. I will put here the correct one when I get it.
----------


I have a pattern in the message type:
Logical properties-> Simple Type -> BaseType = xs:string
Logical properties-> Value Constraints -> Pattern = ^\d{0,18}

It is MRM/XML. Broker is 6.0

The value in the element of that type = 333

The error that I got is: Field does not match the pattern value

However it validates in other tools that can validate xml against xsd schema.
The message set is generated form the xml schema.

Any comments on this might be helpful. Thanks in advance.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Nov 25, 2009 3:29 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20697
Location: LI,NY

Do you mean to validate XML or MRM with this pattern.
I can understand it validating it in XMLNSC.
However consider that MRM is a fixed length positional parser (CWF) (on steroids XML).
What you have defined is however essentially a variable length field.

Now think about what you are trying to do and go do it the right way!.

And BTW if that field was to be the definition of an SAP Material number consider changing the definition to String min/max length 18. SAP has particular exits that allow Alphanumeric content...

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
kimbert
PostPosted: Thu Nov 26, 2009 1:29 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
MRM is a fixed length positional parser (CWF) (on steroids XML).
Not true. MRM can handle almost any type of non-XML data using the 'CWF' and 'TDS' physical formats.
It *can* also handle XML data using the 'XML' physical format, and it uses a proper XML parser internally. But don't do that, because XMLNSC is *much* faster and better at the job.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Nov 26, 2009 12:57 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20697
Location: LI,NY

kimbert wrote:
Quote:
MRM is a fixed length positional parser (CWF) (on steroids XML).
Not true. MRM can handle almost any type of non-XML data using the 'CWF' and 'TDS' physical formats.
It *can* also handle XML data using the 'XML' physical format, and it uses a proper XML parser internally. But don't do that, because XMLNSC is *much* faster and better at the job.


Sorry and mea culpa for not mentioning the TDS parser. I nearly never use it and that might have been my bias...

Looking at the validation that Bartez75 alluded to, and if the only physical format is XML, should his constraint not validate?

@Bartez75, can you post the content of the full exception list and root list for the message not validating?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
kimbert
PostPosted: Thu Nov 26, 2009 2:51 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

I'm waiting for Bartez75 to respond. I think the ^ should be removed from the data pattern.
Back to top
View user's profile Send private message
Bartez75
PostPosted: Fri Nov 27, 2009 2:28 am    Post subject: Reply with quote

Voyager

Joined: 26 Oct 2006
Posts: 80
Location: Poland, Wroclaw

Hi
Here is a fragment that is interesting in that case of the Root and Exception List:
Code:

Root: (
  (0x01000000):Properties = (
    (0x03000000):MessageSet      = 'FQ5BVLG002001'
    (0x03000000):MessageType     = 'DIFFUSION'
    (0x03000000):MessageFormat   = 'XML1'
    (0x03000000):Encoding        = 273
    (0x03000000):CodedCharSetId  = 819
    (0x03000000):Transactional   = TRUE
    (0x03000000):Persistence     = TRUE
    (0x03000000):CreationTime    = GMTTIMESTAMP '2009-11-27 10:15:29.110'
    (0x03000000):ExpirationTime  = -1
    (0x03000000):Priority        = 2
    (0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
    (0x03000000):ReplyProtocol   = 'MQ'
    (0x03000000):Topic           = NULL
    (0x03000000):ContentType     = ''
  )
  (0x01000000):MQMD       = (
    (0x03000000):SourceQueue      = 'P10.QL.G.D.ODIN.IN.DIFFUSION.SIR'
    (0x03000000):Transactional    = TRUE
    (0x03000000):Encoding         = 273
    (0x03000000):CodedCharSetId   = 819
    (0x03000000):Format           = 'MQSTR   '
    (0x03000000):Version          = 2
    (0x03000000):Report           = 0
    (0x03000000):MsgType          = 8
    (0x03000000):Expiry           = -1
    (0x03000000):Feedback         = 0
    (0x03000000):Priority         = 2
    (0x03000000):Persistence      = 1
    (0x03000000):MsgId            = X'414d51204652565535505532202020204adee17a215d5614'
    (0x03000000):CorrelId         = X'000000000000000000000000000000000000000000000000'
    (0x03000000):BackoutCount     = 0
    (0x03000000):ReplyToQ         = '                                                '
    (0x03000000):ReplyToQMgr      = 'MVW0                                            '
    (0x03000000):UserIdentifier   = 'xxxx     '
    (0x03000000):AccountingToken  = X'160105150000006d2f97c47ac0bd57ffb875950da3000000000000000000000b'
    (0x03000000):ApplIdentityData = '                                '
    (0x03000000):PutApplType      = 11
    (0x03000000):PutApplName      = '\Broker\rfhutil\rfhutilc.exe'
    (0x03000000):PutDate          = DATE '2009-11-27'
    (0x03000000):PutTime          = GMTTIME '10:15:29.110'
    (0x03000000):ApplOriginData   = '    '
    (0x03000000):GroupId          = X'000000000000000000000000000000000000000000000000'
    (0x03000000):MsgSeqNumber     = 1
    (0x03000000):Offset           = 0
    (0x03000000):MsgFlags         = 0
    (0x03000000):OriginalLength   = -1
  )
  (0x0100001B):MRM        = (
    (0x01000013):HEADER = (
      (0x0300000B):CGMONA  = '09'
      (0x0300000B):NMBRO   = 'TBN-FAB01 '
      (0x0300000B):LIBRO   = 'NOUVELLE DIFF FAB                       '
      (0x0300000B):DOMDST  = 'AI'
      (0x0300000B):IDDST   = 'TESTPDF'
      (0x0300000B):TYPDST  = 'I'
      (0x0300000B):CPLTEC  = 'FAB-C95-01(09FREF)'
      (0x0300000B):COACBU  = 'RE7V77Y '
      (0x0300000B):DTHMOD  = '20091028112329'
      (0x0300000B):VERSDAT = '1.0'
      (0x0300000B):DTHDTR  = '20091125104249'
      (0x0300000B):CODDECL = 'MAVI'
      (0x0300000B):NUFAD   = '34FC002875S'
      (0x0300000B):TYPEAV  = 'AE'
      (0x0300000B):CGDEC   = '  '
      (0x0300000B):NULGD   = '  '
      (0x0300000B):COEMD   = '  '
      (0x0300000B):TYPDIF  = 'FAB'
      (0x0300000B):IDDEM   = '0000000971-TBN-FAB01 '
      (0x0300000B):TYPFIL  = 'PREV'
      (0x0300000B):NBVI    = 1
      (0x0300000B):CGDST   = '09'
      (0x0300000B):FMTDST  = 'PDF'
      (0x0300000B):NBCOPY  = 1
      (0x0300000B):NUMSEQ  = '2009-11-25T10:42:49.195722'
      (0x0300000B):STOVE   = 'V'
    )
    (0x01000013):VILST  = (
      (0x01000013):VI = (
        (0x01000013):GEN    = (
          (0x0300000B):NUFAV   = '34FC002875'
          (0x0300000B):LTCONT  = 'S'
          (0x0300000B):CGMONV  = '59'
          (0x0300000B):LIMOD   = 'EURO3 6X4 TRACT MD11'
          (0x0300000B):DTSPEC  = '20090525'
          (0x0300000B):DTISWCB = '20090525'
          (0x0300000B):DTISWCH = '20090525'
          (0x0300000B):DTPMIA  = '20090610'
          (0x0300000B):NARTI   = '          '
          (0x0300000B):NCCLI   = '1672147'
          (0x0300000B):CTMCL   = 'UNITED NATIONS'
          (0x0300000B):DTRDCB  = '20090506'
          (0x0300000B):DTRDCH  = '20090506'
          (0x0300000B):FILVI   = 'M'
          (0x0300000B):PBIVI   = 'N'
        )
        (0x01000013):LGMLST = (
          (0x01000013):LGM = (
            (0x0300000B):NULGM = 'AD'
            (0x0300000B):DTPEV = '20090506'
            (0x0300000B):NUENV = 1
            (0x0300000B):LILGM = 'SUIVI ETAPES FLUTI'
            (0x0300000B):RGSEN = '333'
          )



Code:

(0x01000000):ParserException = (
    (0x03000000):File            = '/build/S600_P/src/DataFlowEngine/ImbRootParser.cpp'
    (0x03000000):Line            = 551
    (0x03000000):Function        = 'ImbRootParser::parseNextItem'
    (0x03000000):Type            = 'ComIbmMQInputNode'
    (0x03000000):Name            = 'P10OdinBWFlowsIn/P10OdinBWflow1#FCMComposite_1_10'
    (0x03000000):Label           = 'P10OdinBWFlowsIn.P10OdinBWflow1.Q1 - ODIN DIFFUSION InputQueue'
    (0x03000000):Catalog         = 'BIPv600'
    (0x03000000):Severity        = 2
    (0x03000000):Number          = 5902
    (0x03000000):Text            = 'Exception whilst parsing'
    (0x01000000):Insert          = (
      (0x03000000):Type = 5
      (0x03000000):Text = 'Root'
    )
    (0x01000000):Insert          = (
      (0x03000000):Type = 5
      (0x03000000):Text = 'MRM'
    )
    (0x01000000):Insert          = (
      (0x03000000):Type = 5
      (0x03000000):Text = '4d442020000000020000000000000008ffffffff0000000000000111000003334d515354522020200000000200000001414d5120465256553550553220202020... (data of len  truncated)'
    )
    (0x01000000):ParserException = (
      (0x03000000):File            = '/build/S600_P/src/MTI/MTIforBroker/MtiImbParser2/MtiImbParser.cpp'
      (0x03000000):Line            = 445
      (0x03000000):Function        = 'MtiImbParser::parseFirstChild'
      (0x03000000):Type            = 'ComIbmMQInputNode'
      (0x03000000):Name            = 'P10OdinBWFlowsIn/P10OdinBWflow1#FCMComposite_1_10'
      (0x03000000):Label           = 'P10OdinBWFlowsIn.P10OdinBWflow1.Q1 - ODIN DIFFUSION InputQueue'
      (0x03000000):Catalog         = 'BIPv600'
      (0x03000000):Severity        = 3
      (0x03000000):Number          = 5285
      (0x03000000):Text            = 'ImbRecoverableException caught from worker->parseNext.'
      (0x01000000):Insert          = (
        (0x03000000):Type = 5
        (0x03000000):Text = 'P10OdinDiffusionBWMsgset'
      )
      (0x01000000):Insert          = (
        (0x03000000):Type = 2
        (0x03000000):Text = '1'
      )
      (0x01000000):Insert          = (
        (0x03000000):Type = 5
        (0x03000000):Text = 'XML1'
      )
      (0x01000000):Insert          = (
        (0x03000000):Type = 5
        (0x03000000):Text = 'DIFFUSION'
      )
      (0x01000000):ParserException = (
        (0x03000000):File            = '/build/S600_P/src/MTI/MTIforBroker/MtiImbParser2/MtiImbValueValidator.cpp'
        (0x03000000):Line            = 1383
        (0x03000000):Function        = 'MtiImbValueValidator::validatePattern'
        (0x03000000):Type            = ''
        (0x03000000):Name            = ''
        (0x03000000):Label           = ''
        (0x03000000):Catalog         = 'BIPv600'
        (0x03000000):Severity        = 3
        (0x03000000):Number          = 5393
        (0x03000000):Text            = 'One or more Message Validation failures have occurred.'
        (0x01000000):ParserException = (
          (0x03000000):File     = '/build/S600_P/src/MTI/MTIforBroker/MtiImbParser2/MtiImbValueValidator.cpp'
          (0x03000000):Line     = 1383
          (0x03000000):Function = 'MtiImbValueValidator::validatePattern'
          (0x03000000):Type     = ''
          (0x03000000):Name     = ''
          (0x03000000):Label    = ''
          (0x03000000):Catalog  = 'BIPv600'
          (0x03000000):Severity = 3
          (0x03000000):Number   = 5369
          (0x03000000):Text     = 'Field does not match the pattern value'
          (0x01000000):Insert   = (
            (0x03000000):Type = 5
            (0x03000000):Text = '464^RGSEN'
          )
          (0x01000000):Insert   = (
            (0x03000000):Type = 5
            (0x03000000):Text = '333'
          )
          (0x01000000):Insert   = (
            (0x03000000):Type = 5
            (0x03000000):Text = '^\d{0,18}'
          )


I got info that this was not validating in the xml validation tool so no wondering it was not validated in the broker.
I will try now without '^' or something else or maybe I will get a correct xsd.
Back to top
View user's profile Send private message
Bartez75
PostPosted: Fri Nov 27, 2009 2:37 am    Post subject: Reply with quote

Voyager

Joined: 26 Oct 2006
Posts: 80
Location: Poland, Wroclaw

I have just removed '^' and it is validating now.
However I don't know if this is what they (sender application) want to have as a pattern so I will have to confirm this.
Back to top
View user's profile Send private message
sirsi
PostPosted: Sat Nov 28, 2009 6:45 pm    Post subject: Reply with quote

Disciple

Joined: 11 Mar 2005
Posts: 177

using or not using caret shouldnt matter, as rest of regular expression expects only digits(\d)...
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 » Regex pattern error - broker 6.0
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.