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 » Schema directive failed to resolve

Post new topic  Reply to topic
 Schema directive failed to resolve « View previous topic :: View next topic » 
Author Message
tatyeong
PostPosted: Wed Jun 09, 2010 4:51 am    Post subject: Schema directive failed to resolve Reply with quote

Acolyte

Joined: 16 Apr 2010
Posts: 52

Hi,

I am using WMB toolkit 6.1.0.3. I have created an SAP inbound adapter using the Adapter connection wizard. Along the wizard process, mxsd is generated based on the IDOC definition. The SAP adapter version is 6.1.0.5_IF05

However, when I try to compile the project, there are quite a number of errors messages saying that "Schema directive failed to resolve ...."

If I go to the Message Set Project folder, I am able to locate the actual mxsd file which the error messages claimed missing.

Has anyone encountered this error before? Is this a product bug on the WMB toolkit? or the SAP Adapter? Is there a fix for this?

Appreciate any help / comment on this. Thanks!
Back to top
View user's profile Send private message
kimbert
PostPosted: Wed Jun 09, 2010 5:03 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Not sure whether it's a defect, but it should be simple to fix up your message definition file(s). I expect the errors all refer to one or two imported/included xsds.

In the Outline view, click on the root node in the tree ( the one which represents the message definition file itself ). In the properties view, edit the import/include directive so that it points to the correct path.

It's quite common for the paths to get out of sync, because Eclipse applications usually move xsds into a folder that is named after their target namespace. If your schemas were organised using some other convention then the result is broken imports/includes.
Back to top
View user's profile Send private message
tatyeong
PostPosted: Wed Jun 09, 2010 6:11 am    Post subject: Reply with quote

Acolyte

Joined: 16 Apr 2010
Posts: 52

Hi Kimbert,

I tried what you suggested. It is a very peculiar behavior.

So I open the root node, goto the properties view and goto the import section. Here the same error message "Schema directive failed to resolve..." shows up at the top.

I click on the select button, which brings up a screen for me to browse the folders under the Message Set Project. I browse to the subfolder that contains the MXSD file. Funny thing is, I am not able to expand that folder. This happen for all subfolders that contain the MXSD for rootnode that complains about the error. As for the rootnode which is OK, I am able to expand the subfolder and select the MXSD

One other observation is that if I browse to the problematic subfolder using Windows Explorer, I am able to go into the subfolder. However, if I right click on the MXSD file, the menu only has Open and Sendto options (typically there should be the standard rename, cut, copy etc etc). There is no reaction if I select the Open command.

This is really weird!
[/img]
Back to top
View user's profile Send private message
tatyeong
PostPosted: Wed Jun 09, 2010 7:16 am    Post subject: Reply with quote

Acolyte

Joined: 16 Apr 2010
Posts: 52

Some updates.

I was trying to create 1 SAP inbound adapter that takes in 2 different IDOC message type. Is this supported?

The schema directive error does not occur if I create the inbound adapter with only 1 IDOC message type
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Jun 10, 2010 1:22 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

I agree - it sounds rather strange. I'm out of ideas...anybody got a suggestion?
Back to top
View user's profile Send private message
tatyeong
PostPosted: Thu Jun 10, 2010 1:34 am    Post subject: Reply with quote

Acolyte

Joined: 16 Apr 2010
Posts: 52

I am working on a workaround, which is to have 2 SAP inbound adapter, with each adapter dedicated to a IDOC message type. Eventually the flow will merge into a single MQoutput

Working fine so far.

I have 1 unrelated question.

Suppose the above message flow is deployed to 1 execution grp in 1 broker, the message processing will always be 1 msg at a time?
I am asking this becaues the sequence in which the 2 different IDOC being processed is important.

Assuming that SAP is able to set off the 2 different IDOC event and messages in sequence, will the sequence be preserved when the message eventually reaches the queue at MQOutput?
Back to top
View user's profile Send private message
jhosie
PostPosted: Thu Jun 10, 2010 6:02 am    Post subject: Reply with quote

Apprentice

Joined: 12 May 2005
Posts: 28

You have to be careful if you have 2 message flows with SAP Input nodes.
If they are both using the same RFCProgramID, then SAP cannot distinguish between them, so it will not filter the IDOCs. So, both flows and message sets would need to be configured for both types of IDOC.
Also, you are correct, you can loose sequence.
The scenario you described at the top of this thread is perfectly valid and is supported. I would suggest raising this with IBM support.

As a workaround, you could try having 1 flow and 2 message sets. To do this, you would need to configure the SAPInput node to pickup secondary adapters. This means that it can handle IDOCs which are defined in other message sets deployed to the same execution group. - http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/bc22320_.htm
Back to top
View user's profile Send private message
tatyeong
PostPosted: Thu Jun 10, 2010 6:12 am    Post subject: Reply with quote

Acolyte

Joined: 16 Apr 2010
Posts: 52

I have created 1 message flow, with 2 SAPInput node, using different RFC program ID. There are also 2 message sets, tied to each SAPInput node respectively.

I am not sure the secondary adapter feature is supported in v6.1? It seems like it is for v7.0
Back to top
View user's profile Send private message
jhosie
PostPosted: Thu Jun 10, 2010 6:16 am    Post subject: Reply with quote

Apprentice

Joined: 12 May 2005
Posts: 28

Sorry, you are correct. Secondary adapters is V7 only.

So long as you have different program IDs, this should be fine but you still have the sequencing issue.
Back to top
View user's profile Send private message
tatyeong
PostPosted: Thu Jun 10, 2010 6:19 am    Post subject: Reply with quote

Acolyte

Joined: 16 Apr 2010
Posts: 52

Since it is only 1 msgflow, if I deploy to only 1 EG and 1 broker, the sequence should be preserved, no?
Back to top
View user's profile Send private message
jhosie
PostPosted: Thu Jun 10, 2010 6:32 am    Post subject: Reply with quote

Apprentice

Joined: 12 May 2005
Posts: 28

Quote:
Since it is only 1 msgflow, if I deploy to only 1 EG and 1 broker, the sequence should be preserved, no?


No. 2 input nodes can receive messages concurrently. So, there is a chance that the following happens...

NodeA receives IDOC 1
NodeB receives IDOC 2
(in the sequence sent from SAP)
NodeA propagates to next node
NodeB propagates to next node
(now the next node is processing IDOC 1 and IDOC 2 concurrently - on 2 threads. It might complete 2 before 1)

If the next node is MQOutput, then the window is smaller but there is a window.

This all assumes that SAP can send IDOC 2, before IDOC 1 is committed. If sequencing is important, then you should be using qRFC in SAP and making sure that IDOC2 is only sent after IDOC1 is committed. Speak to your SAP basis team to see if this is feasible.
Back to top
View user's profile Send private message
tatyeong
PostPosted: Thu Jun 10, 2010 5:18 pm    Post subject: Reply with quote

Acolyte

Joined: 16 Apr 2010
Posts: 52

Thanks. I will discuss with my BASIS team on that approach.
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 » Schema directive failed to resolve
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.