This discussion is archived
7 Replies Latest reply: Feb 27, 2012 12:11 PM by 699011 RSS

Creating a "Business Service" from a WSDL: Can't initialize WsdlEntryHelper

919588 Newbie
Currently Being Moderated
I'm working through a "HelloWorld" setup of Weblogic (10.0.3.5) and OSB (11.1.1.5.0) using OEPE 11.1.1.7.2.

I have a OSB Project with a Weblogic Web Service. I've generated a WSDL and when I try to copy/paste or drag-and-drop or load the WSDL file through the Business Service Configuration I always get the following error:

Description     Resource     Path     Location     Type
Could not initialize class com.bea.wli.sb.resources.wsdl.helpers.WsdlEntryHelper     HelloWorldService.wsdl     /HelloWorld_SB     line 1     ALSB Synchronization Error

If it helps, the WSDL is linked below. Any ideas? Thanks.

http://pastie.org/3438419
  • 1. Re: Creating a "Business Service" from a WSDL: Can't initialize WsdlEntryHelper
    699011 Newbie
    Currently Being Moderated
    Hi,

    I copied the linked WSDL into a file called "HelloWorld.wsdl" in an OSB Project called "HelloWorld_SB" and did not see an error. I created a Business Service, set it to WSDL type, and set it to the attached HelloWorld.wsdl's port and then the binding and also did not see an error.

    Can you launch the Clean dialog from the Project menu (Project->Clean...) and clean all of the projects and see if the error goes away or not?

    Also, can you provide more information about your OSB Project, how you created the project, the WSDL, the Business Service, etc.?

    And finally, please provide information about how you installed your WLS, OSB, and OEPE environment.


    Thanks.
  • 2. Re: Creating a "Business Service" from a WSDL: Can't initialize WsdlEntryHelper
    919588 Newbie
    Currently Being Moderated
    Luckily, I took detailed notes about how I installed WLS/OSB/OEPE because it took forever to get OEPE installed and not barf when I tried to do anything OSB related.

    STEPS TO GET WLS/OSB/OEPE INSTALLED ON 64-bit WINDOWS
    =====================================================
    1) Download and install WLS via "wls1035_generic" jar file
    2) Download and extract "oepe-indigo-11.1.1.7.2-x86_64.zip" to "C:\Oracle\Middleware\oepe"
    3) Download and extract osb_generic_11.1.1.5.0.
    4) Install OSB via executing Disk1/install/win64/setup.exe
    a) specify C:\Program Files\Java\jdk1.6.0_30 as JRE location, this was my installation location of a 64-bit JDK
    b) skip software updates
    c) Oracle Middleware Home: C:\Oracle\Middleware
    d) Oracle Home Directory: Oracle_OSB1
    e) Custom install, check everything
    f) Prereq check: everything checked green
    g) WLS Location: C:\Oracle\Middleware\wlserver_10.3
    h) OEPE Location: C:\Oracle\Middleware\oepe
    i) ERROR: Specified OEPE home location is not a valid location
    ii) Move C:\Oracle\Middleware\oepe => C:\Oracle\Middleware\oepe-indigo
    ii) Download and extract "oepe-helios-11.1.1.7.2-x86_64.zip" to "C:\Oracle\Middleware\oepe-helios"
    i) OEPE Location: C:\Oracle\Middleware\oepe-helios
    i) Accepted, moved to Installation Summary.
    j) Installation Summary -> Install
    => Installation Successful. Starting execution of post install scripts
    Creating Samples Domain. This will take a few minutes.. Execution of post
    install scripts completed


    I don't recall the exact steps I took for creating the web service, but here's what I just tired:

    STEPS FOR HELLO WORLD WS
    ========================

    1) File -> New -> WebLogic Web Services -> Web Service Project
    a) Project name: TEST0_WS
    b) Location: C:\workspaces\osb\TEST0_WS
    c) Target runtime: Oralce WebLogic Servier 11gR1 PatchSet 4
    d) Default Configuration
    e) EAR Membership: check Add project to an EAR (TEST0_WSEAR)
    d) Finish
    2) TEST0: Right click 'src' -> New WebLogic Web Service
    a) Name: HelloWorld
    b) Package: foo
    c) Check 'Generate Service Endpoint Interface'
    3) Change HelloWorld.hello() to return a String, fix HelloWorldImpl
    4) Under "Servers" tab, right click the WebLogic Server and add TEST0_WSEAR
    a) EXCEPTION:

    eclipse.buildId=M20110210-1200
    java.version=1.6.0_30
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
    Command-line arguments: -os win32 -ws win32 -arch x86_64


    Error
    Thu Feb 23 15:14:25 EST 2012
    Runtime exception occurred during publish. The publish is aborted. Please report the bug with the stack trace. The stack can be found on the log and the Error Log view.

    java.lang.NullPointerException
    at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.listModules(WeblogicServerBehaviour.java:990)
    at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishToServer(WeblogicServerBehaviour.java:818)
    at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishOnce(WeblogicServerBehaviour.java:678)
    at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publish(WeblogicServerBehaviour.java:531)
    at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:775)
    at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:2893)
    at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:337)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)



    That's as far as I got trying to reproduce the steps I took. I got the same NullPointerException earlier when I was setting up the server and I somehow got around it, but don't remember what I did. Anyway, maybe you can spot a missed step that would explain it? Thanks!
  • 3. Re: Creating a "Business Service" from a WSDL: Can't initialize WsdlEntryHelper
    919588 Newbie
    Currently Being Moderated
    I was able to recreate the test WS project and get to the same error as before. The difference is I didn't create an EAR project nor endpoint interfaces. It published fine with this bare-bones setup.

    Can someone please take a look at my steps and see if I'm doing anything wrong and if you know how to get around it? Trying to get just the most simple local WS on OSB has taken days and I really need to get to work on something productive!

    I'm pasting my notes below, but since the forum doesn't cooperate with my spacing, I've pasted a more readable version at pastie:
    http://pastie.org/private/5dlmjcbkrjzzmurt2f04g

    STEPS FOR CREATING A TEST WS
    ============================

    1) File -> New -> WebLogic Web Services -> Web Service Project
    a) Project name: Foo_WS
    b) Location: C:\workspaces\osb\TEST0_WS
    c) Target runtime: Oralce WebLogic Servier 11gR1 PatchSet 4
    d) Default Configuration
    e) EAR Membership: unchecked
    d) Finish
    2) Under "Servers" tab, right click the WebLogic Server and add Foo_WS
    3) In the "Foo_WS" project Right click 'src' -> New WebLogic Web Service
    a) Name: Foo
    b) Package: foo
    c) Do not check 'Generate Service Endpoint Interface'
    d) Click Finish
    3) Load Foo.java
    a) Change Foo.hello() to return a String and take a String argument
    b) Change the class annotation to:

    @WebService(name = "Foo", targetNamespace = "http://foo", serviceName = "FooService", portName = "FooPort")

    4) Republish to the server
    5) Check that it is running, load "http://localhost:7001/Foo_WS/FooService?WSDL". See output:

    <?xml version='1.0' encoding='UTF-8'?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5. --><definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://foo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://foo" name="FooService">
    <types>
    <xsd:schema>
    <xsd:import namespace="http://foo" schemaLocation="http://localhost:7001/Foo_WS/FooService?xsd=1"/>
    </xsd:schema>
    </types>
    <message name="hello">
    <part name="parameters" element="tns:hello"/>
    </message>
    <message name="helloResponse">
    <part name="parameters" element="tns:helloResponse"/>
    </message>
    <portType name="Foo">
    <operation name="hello">
    <input message="tns:hello"/>
    <output message="tns:helloResponse"/>
    </operation>
    </portType>
    <binding name="FooPortBinding" type="tns:Foo">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="hello">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="FooService">
    <port name="FooPort" binding="tns:FooPortBinding">
    <soap:address location="http://localhost:7001/Foo_WS/FooService"/>
    </port>
    </service>
    </definitions>

    6) Back to OEPE: Create New OSB Configuration Project: name = Foo_Conf, ignored advanced settings, Finish
    7) Add Foo_Conf to the server and publish. Now the OWL Server 11gR1 PatchSet 4 at localhost has 2 projects: Foo_Conf and Foo_WS
    8) Create New OSB Project: Project name: Foo_SB, OSB Configuration: Foo_Conf
    9) Under Foo_WS project, right click Foo.java -> WebLogic Web Services -> Generate WSDL (created a .wsdl and .xsd)
    10) Drag-and-drop FooService.wsdl and FooService_schema1.xsd from Foo_WS to Foo_SB
    a) ERROR:

    Description Resource Path Location Type
    Could not initialize class com.bea.wli.sb.resources.wsdl.helpers.WsdlEntryHelper FooService.wsdl /Foo_SB line 1 ALSB Synchronization Error

    ...I have no idea how to procede. I've been using "The Definite Guide to SOA 2nd Edition" to guide me along. I'm stuck here because I want
    to create a business service and proxy service utilizing the first Web Service Project I made (Foo_WS).

    Any advice please?
  • 4. Re: Creating a "Business Service" from a WSDL: Can't initialize WsdlEntryHelper
    699011 Newbie
    Currently Being Moderated
    Hi,

    I followed your steps, and I didn't see any error when I drag'n'dropped FooService.wsdl and FooService_schema1.xsd from Foo_WS to Foo_SB.

    Can you open the Eclipse Error Log view (Window->Show View->Other... then pick General->Error Log) and see if there are any errors? If so, please send the errors/exceptions.

    Thanks.
  • 5. Re: Creating a "Business Service" from a WSDL: Can't initialize WsdlEntryHelper
    919588 Newbie
    Currently Being Moderated
    Thank you for trying. I regenerated the WSDL and XSD and drag-and-dropped them to Foo_SB and nothing showed up in the Error Log. Under "Problems" it still shows:

    Description     Resource     Path     Location     Type
    Could not initialize class com.bea.wli.sb.resources.wsdl.helpers.WsdlEntryHelper     FooService.wsdl     /Foo_SB     line 1     ALSB Synchronization Error

    Maybe you didn't get the error because of environment differences (different versions? different install method?)...? I don't know how to proceed.


    In looking for a WsdlEnteryHelper file, I found the directory C:\Oracle\Middleware\Oracle_OSB1\L10N\com\bea\wli\sb\resources\wsdl on my file system but there's no helpers directory. But then again, I expect the WsdlEntryHelper should be one of the jars provided by OSB/OEPE.

    So I looked under C:\Oracle\Middleware at all jars, the the only jars that start with "com.bea.wli." are:

    C:\Oracle\Middleware\Oracle_OSB1\modules\com.bea.wli.core.mflengine_1.3.0.0.jar
    C:\Oracle\Middleware\Oracle_OSB1\modules\com.bea.wli.transform.cobol_1.1.0.0.jar
    C:\Oracle\Middleware\Oracle_OSB1\modules\com.bea.wli.transform.fbruntime_1.3.0.0.jar
    C:\Oracle\Middleware\Oracle_OSB1\modules\com.bea.wli.transform.formatbuilder_1.3.0.0.jar

    None have the WsdlEntryHelper.class I was looking for. If I could find a jar that has this class maybe I could get it on the eclipse load path and see if that helps...
  • 6. Re: Creating a "Business Service" from a WSDL: Can't initialize WsdlEntryHelper
    699011 Newbie
    Currently Being Moderated
    My install process was slightly different from yours, so I will re-install the same way you did and see if I get the error. I used the 32 bit WLS+OEPE installer for Windows then the generic OSB installer, but it looks like you need a 64bit environment.
  • 7. Re: Creating a "Business Service" from a WSDL: Can't initialize WsdlEntryHelper
    699011 Newbie
    Currently Being Moderated
    I just tried with the generic WLS, 64 bit OEPE, and generic OSB installers and it still works for me.

    So, it must be as you suspect, some environment issue. Can you give me your oepe-helios\eclipse.ini file? Also, what version of Java is Eclipse picking up? I believe it will pick up whatever you have in your PATH, so if you open a Command Prompt and type "java -version" it should tell you the version.


    And just so you know, here's what I did to install:
    1. Installed WLS
    - java -jar wls1035_generic.jar
    - Installed WLS to D:\oracle\OSB_11.1.1.5_GA_64bit
    - Did a custom install and added the examples
    2. Installed OEPE
    - Unzipped oepe-helios-all-in-one-11.1.1.7.2.201103302044-win32-x86_64.zip to D:\oracle\OSB_11.1.1.5_GA_64bit\oepe-helios
    3. Installed OSB
    - Ran Disk1\install\win64\setup.exe with the Java 1.6.0_24 64-bit as the JRE
    - Custom install and ensured all were checked
    - The OSB install auto-detected the OEPE location

    Here's what I did in OEPE:
    1. Created a WebLogic WebService project
    2. Created the WebLogic Webservice in foo/Foo.java
    3. Changed the method and annotaton as you described
    4. Generated the WSDL (and XSD) in the current folder
    5. Created an OSB Configuration Project and OSB Project
    6. Copied the WSDL and XSD to the OSB Project

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points