Author |
Message
|
petmor |
Posted: Tue May 10, 2011 10:30 am Post subject: Custom parser lil throws BIP2238W |
|
|
Apprentice
Joined: 20 Jun 2002 Posts: 45 Location: Pasadena, CA
|
Hi,
We have been using a 32-bit custom parser "HL7.lil" successfully for several years in WMB versions 2.1, 5.0 and 6.0. Preparing to migrate to WMB7, we believe 64-bit is a requirement, so we recompiled the source. xlc_r won't be available on our WMB7 server for awhile, so we recompiled on our WMB6 server, referencing a copied imbdfplg64 from the WMB7 server (we also compiled a version using a local imbdfplg64). There were some errors that we resolved with casts. We installed the .lil to the LilPath and we see the following BIP2238W in the syslog when the broker is bounced:
May 9 14:02:48 szadie11 user:warn|warning WebSphere Broker v7002[565450]: (QAKPIB00_BROKER.EG_TEST_01)[1]BIP2238W: LIL '/apps/ib/kpib/qakpib00/lil/HL7.lil' has been unloaded. : QAKPIB00_BROKER.c3cbc77f-2f01-0000-0080-c2ef6ed5ea28: /build/S700_P/src/DataFlowEngine/ImbResourceManager.cpp: 172: ImbResourceManager::loadLibrary: ComIbmResourceManager: ComIbmResourceManager
The explanation of BIP2238W is "This could be because it contained no resources, or because the resources were already provided by another LIL."
A deploy of any flow referencing parser/domain HL7 of course fails, with the following error:
BIP2293E: Invalid configuration message containing attribute value 'HL7': not valid for target attribute 'messageDomainProperty' on object 'TEST_MQ_01.QA.TEST.INPUT.10'.
So, is 64-bit .lil required for WMB7? Do we need to wait to compile the source on the WMB7 server? Is there something we are overlooking in regard to setting the LilPath? Any clues or suggestions on where we might begin to try fixing this? Thanks!
Peter |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 10, 2011 11:20 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
You might investigate
http://www.mqseries.net/phpBB2/viewtopic.php?t=57411
instead of continuing to use a custom parser.
Otherwise I'd review the documentation that comes with Broker v7 on building custom parsers.
The error message suggests that you have put both a 32-bit and a 64-bit LIL in the broker... |
|
Back to top |
|
 |
rekarm01 |
Posted: Tue May 10, 2011 2:52 pm Post subject: Re: Custom parser lil throws BIP2238W |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
petmor wrote: |
xlc_r won't be available on our WMB7 server for awhile, so we recompiled on our WMB6 server, referencing a copied imbdfplg64 from the WMB7 server (we also compiled a version using a local imbdfplg64). |
That can get tricky. There are other required files, such as include files or other dependent libraries to consider; consult a local C expert for help, as needed.
petmor wrote: |
There were some errors that we resolved with casts. |
That's almost always a bad idea. Casts tend to ignore errors, rather than resolve them; compile-time errors are usually preferable to run-time errors.
... though maybe not for migrating existing message flows. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 10, 2011 4:33 pm Post subject: Re: Custom parser lil throws BIP2238W |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
rekarm01 wrote: |
... though maybe not for migrating existing message flows. |
Well.
Yes, but no?
In general, a supported tool is better than a mostly unsupported custom tool. At least in my opinion?
So, yes, migrating to the supported HL7 parser is likely a significant investment in time IN COMPARISON to fixing the current parser.
It may, however, end up being more COST EFFECTIVE over time.
 |
|
Back to top |
|
 |
rekarm01 |
Posted: Wed May 11, 2011 1:13 am Post subject: Re: Custom parser lil throws BIP2238W |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
mqjeff wrote: |
Yes, but no? |
Who can argue with that?
As they are migrating from WMB 6.0, (which is already out of support), they should probably try to fix the existing custom parser first, and then worry about replacing it later. |
|
Back to top |
|
 |
petmor |
Posted: Wed Jun 08, 2011 10:13 pm Post subject: |
|
|
Apprentice
Joined: 20 Jun 2002 Posts: 45 Location: Pasadena, CA
|
Hi,
We were advised by IBM Support to recompile our custom parser source on our new WMB7 server, and we have just done that. We generated a new .lil, copied it to the broker LilPath, and bounced the broker. A deploy of a test message flow which references the custom parser fails, but with slightly different errors than we saw earlier with a .lil generated by code compiled on our WMB6 server. We are now getting the following:
BIP2087E: Broker QAKPIB00_BROKER was unable to process the internal configuration message.
BIP4041E: Execution group 'EG_TEST_01' received an invalid configuration message.
BIP2293E: Invalid configuration message containing attribute value 'HL7': not valid for target attribute 'messageDomainProperty'
Any recommendations on what we can try next to debug? Does WMB7 require any steps in addition to a broker bounce in order to load a .lil properly? Thanks everyone!
Peter |
|
Back to top |
|
 |
kimbert |
Posted: Thu Jun 09, 2011 12:59 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
BIP2293E: Invalid configuration message containing attribute value 'HL7': not valid for target attribute 'messageDomainProperty' |
That looks familiar. The execution group does not know about a parser with name 'HL7'. That suggests that it has not successfully loaded your LIL.
First thing to check is the path - are you 100% sure that the LILPath is correct? What happens if you move one of the built-in parser LILs into the same place as your custom parser, and then try to deploy a flow that references the built-in parser? |
|
Back to top |
|
 |
petmor |
Posted: Tue Jul 19, 2011 3:31 pm Post subject: |
|
|
Apprentice
Joined: 20 Jun 2002 Posts: 45 Location: Pasadena, CA
|
Hi,
IBM Level 3 suggested a change to the CciChar* argument in our cpiCreateParserFactory and cpiDefineParserClass function calls. The literal for wide-char that we were passing in earlier versions (successfully) is now replaced with a function that calls cciMbsToUcs to return a UCS string. We are now able to install and deploy flows that reference our custom parser .lil after doing this.
Peter |
|
Back to top |
|
 |
|