Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found

843834Mar 4 2008
Hi experts,

We are using java ActiveXBridge to have a VB application to call Java program, which in term do a webservice call to IBM process server.

I have include xercesImpl.jar, xml-apis.jar, ibm-jaxrpc-client.jar in the directory of C:\Program Files\Java\j2re1.4.2_13\lib\ext

I got the following error on all three tries.

javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)

1) DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

2) System.setProperty("javax.xml.parsers.DocumentBuilderFactory","org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

3) System.setProperty("javax.xml.parsers.DocumentBuilderFactory","org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl dbf = new org.apache.xerces.jaxp.DocumentBuilderFactoryImpl();
DocumentBuilderFactory factory = org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newInstance();

However, if I remove xercesImpl.jar , it will run successfully pass the above lines (probably use rt.jar included in the JRE), but it fails on the actual ibm webservice call with following error. It is looking for xerceslmpl.jar.

Mar 4, 2008 3:49:11 PM com.ibm.ws.webservices.xml.WSErrorHandler
FATAL: fatalerror.sax.handler
Mar 4, 2008 3:49:11 PM com.ibm.ws.webservices.xml.BaseType
SEVERE: internal.error
Mar 4, 2008 3:49:11 PM com.ibm.ws.webservices.configuration.WebServicesEngineConfigurationGenerator
WARNING: warning.parse.file.failure
java.lang.NoClassDefFoundError: org/apache/xerces/dom/ElementNSImpl
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
...
at com.ibm.ws.webservices.multiprotocol.AgnosticService.doGetPort(AgnosticService.java:460)
at com.ibm.ws.webservices.multiprotocol.AgnosticService.getStub(AgnosticService.java:403)

Any suggestion ? Thanks in advance

Strangely, if I run my program as a java application from DOS window. Everything is fine.

Comments

ravi piplani

Please check if you have assigned the user to proper role.

For eg: In your case, role would be 'Requestor'. Check if you have assigned the username (one you are using to login to workspace) to the 'Requestor' role.

-Ravi

Ravi Jegga

This may help. Basically for any BPM Application, you will have Roles / Swimlanes defined in JDeveloper. Now after deploying this from EM Console you should add some Users or Groups to these Roles. The user can be created from weblogic console in default authenticator. Finally for most of the out of box Demos from Oracle for any product like soa, bpm, bi or xyz, they refer to set of users like jcooper, jstein etc etc. All these are created using another sample application from Oracle. Below link should help.

Thanks

Ravi Jegga

Vijay Inani

Hi Ravi and Ravi Jegga,

I have tried both the options earlier, but it didn't work for my manual process.

Then I created a Async. process with the same tutorial and this time it worked fine.

Still not sure why it didn't work for Manual process.

Thanks Anyways!

Regards,
Vijay Inani

Dan Atwood

Hi Vijay,

Here's what I think that it might be.  Look at your process and compare your process with the one shown at the top of the tutorial.  Notice that your "Request Hello" activity probably does not have the green triangle inside of it like the one in the picture has.  If this is not the case then don't read the rest of this post.

The interactive activity with the green triangle is called an Initiator activity and only these activities are shown in your Applications tab. 

I'm not sure how this might have happened because when you add the process in step 4 of the Creating the Process Model section, it automatically adds the initiator activity for you in the process.  The tutorial is confusing because the screenshots of the process in steps 4, 5, 7 and 8 in the "Creating the Process Model" section do not show the Initiator activity but instead incorrectly show a simple User activity.

In the Implementing the User Task section of the tutorial, as you are creating the human task for the interactive User task it has you make sure its pattern is set to "Initiator" (search the tutorial for the text "Initiator" and you'll see it).

If it is not set to "Initiator", then it is probably set to the "Simple" and you will not see the green triangle in the activity.  You can fix it by repeating steps 1 and 2 in the Implementing the User Task section of the tutorial (making sure that you select the Initiator from the "Pattern" dropdown and give it the name "SayHello2").

Do steps 3 and 5 again in the Adding the Review Message Human Interaction section but pick your new "SayHello2.task" task file instead of picking the "ReviewMessage.task".  In step 5, instead expanding the "HelloWorld_UI_ReviewMessage" data control, instead expand your new "HelloWorld_UI_SayHello2.  Redeploy the project.

Hope this gets you going,

Dan

Vijay Inani

Hi Dan,

Thank you for the detailed explanation.

I checked my process and found that the "Request Hello" activity has "Initiator" pattern.

Please find the screenshot of the same at  : http://img607.imageshack.us/img607/8195/cyf3.png

Please check the same.

In one of the post at https://forums.oracle.com/thread/2138336 , its mentioned that "My server lesser RAM then recommended by Oracle and domain was extended with web center. I created a new domain without webcenter and deployed the process and all is well" by 'ZeeshanBaiG' at the end of the thread. Could that be the cause?

Thanks and Regards,

Vijay Inani

Vijay Inani

I am using JDev 11.1.1.7.0 and WLS 10.3.6. I am not sure if my soa domain is extended with web center as mentioned in the link posted above.

- Vijay

v7_SL
Answer

You should verify 2 things:

-bpm workspace -> administration: is your test user assigned directly or indirectly via a group to the requester role (if not, assign him and use the refresh icon in the applications tab)

-em -> you process -> request hello task -> administration: you should see there the used server/port and the uri for the adf mask (if those parameters are missing for an initiator task then the process is not visible under the applications)

Marked as Answer by Vijay Inani · Sep 27 2020
Vijay Inani

Hi All,

Thanks everyone for the replies and help.

Finally, I was able to see the HelloWorldProcess under Applications in BPM Workspace.

Actually, the problem was:

As per the tutorial, it was asked to rename the application role from HelloWorldProcess.Role to HelloWorldProcess.Requester.

I did the same, but here only the display name was changed to HelloWorldProcess.Requester and the actual name remained to HelloWorldProcess.Role

So, in BPM Workspace > Administration, I created a new Application role HelloWorldProcess.Requester and assigned a group and user to it.

When logged in with the same user/group, I was able to see the manual process now.

Nice learning!

I have just started with BPM. It would be helpful if you guys can provide me with more complex tutorials links and design principles for the same.

Help will be appreciated!

Thanks and Regards,

Vijay Inani

1 - 8
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Apr 1 2008
Added on Mar 4 2008
0 comments
967 views