Contents
Troubleshooting Overview
Project Open ESB Starter Kit, available from Java Platform, Enterprise Edition 5 (Java EE 5) SDK Update 1, provides a JBI runtime with Business Process Execution Language (BPEL) support. For additional information on Open ESB Starter Kit, including links to documentation and download bundles, refer to Open ESB Starter Kit At A Glance.
Plan AheadBackup and Restore Instructions
As you experiment with Open ESB Starter Kit and the JBI runtime, there might be times when you need to revert the Application Server to a previously saved working configuration. Use the To backup and restore a server configuration:
Verify Configuration Information
Installation InformationMake sure you have downloaded and installed the Open ESB Starter Kit as directed. Refer to Open ESB Starter Kit Download Page and the Open ESB Starter Kit Installation page for the various ways you can download and install Open ESB Starter Kit. JBI Installation Image
After installing Open ESB Starter Kit, verify the installation image. The following tree shows the key Open ESB directories in the Application Server
<AppServerRoot>
|
+--addons
|
+--jbi
|
+--appserver
| |
| +--ant
+--bin
|
|
+--components
| |
| +--bindings
| |
| |--engines
| |--sharedlibraries
|
+--config
|
+--doc
| |
| +--antdoc
| |
| +--javadoc
|
+--lib
|
+--jbi-addon-kit (if installed)
The following tree shows the JBI installation image within an Application Server domain:
<AppServerRoot>
|
+--domains
|
domain-name
|
+ jbi
|
+--bin
|
+--bindings
|
+--config
|
+--engines
|
+--sharedlibraries
|
+--system
Identify the ProblemLog Files
The JBI runtime, service engines, and binding components write information to Application Server log files that you can use to troubleshoot problems with Open ESB Starter Kit. Check the log files available at the following location:
Modifying Log Levels for the JBIFramework
Modifying Log Levels Using JConsoleTo modify log levels for JBI service engines and binding components installed in your JBI environment:
Thread DumpsThe Application Server provides instructions to obtain thread dumps. For information on how to get a thread dump, refer to the “Overview” chapter of the Application Server Troubleshooting Guide. Online ForumsThe following online forums are available for discussion of Open ESB Starter Kit and JBI issues. You can monitor or participate in these forums to help resolve any issues that might arise in your implementation. Solutions to Some Common ProblemsThis section provides solutions to some common problems that might occur with Open ESB Starter Kit, including the JBI runtime, JBI service engines, and JBI binding components. JBI Runtime – Troubleshooting JBI Ant CommandsJBI Ant ReferencesOpen ESB Starter Kit provides the following JBI Ant references:
The JBI Ant Task Reference and JBI Ant Target Reference can be found in your Open ESB Starter Kit installation at the following location:
Absolute Paths When Installing a JBI Component of Deploying a Service AssemblyAbsolute paths are required when invoking the tasks that install or uninstall a JBI component or tasks that deploy or undeploy a service assembly. In these cases, you specify the absolute path to the archive file (.jar or .zip file) for the component or service assembly. If you specify a relative path, the command will fail. For example, to install the following component: Here is an example error message that is reported if the path is specified incorrectly: Install component failed. [ ERROR:(UIANT2002)Component archive file not found (comp_installer.zip). ] JBI Ant Administration Build File
All JBI Ant administration commands must specify the location of the build file with the -f option. The JBI Ant build file can be found at the following location:
Buildfile: jbi_admin.xml does not exist! Build failed Name/Value Pairs for Ant Targets
When invoking Ant targets, make sure you are passing the correct arguments using the -D option.
Deploying Service Assemblies to ComponentsOne of the most frequent JBI administration tasks is deploying a service assembly to a component. Here is the typical order of events for this scenario:
Uninstalling JBI Components
When uninstalling a JBI component, first make sure all service assemblies are stopped, shut down, and undeployed. This is to avoid other services attempting to access services that will no longer be available because of the uninstallation. Otherwise the uninstall will fail.
Shared Libraries
If a JBI component is dependent on a shared library, then you must first install the shared library before you install the component. Before uninstalling a shared library, make sure you first uninstall any component dependent on the shared library.
Classpath Exceptions
Classpath exceptions can occur during installation/uninstallation of a component or during runtime for the component.
JBI Component Documentation
Documentation on JBI components available for Open ESB Starter Kit is available here: JBI Component Documentation
JBI Component InstallationOpen ESB Starter Kit comes with the following JBI components installed by default:
The following additional JBI components are available for download and installation:
Refer to the Open ESB Starter Kit Download page for information on downloading and installing these components. Troubleshooting JBI ComponentsAccessing Web Services Through HTTPMake sure your web services are accessible through HTTP. If a web service is not accessible through HTTP, the HTTP client in Netbeans is unable to create a connection, generating an exception similar to the following:
com.sun.xml.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionExc
eption: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSO
APConnection.java:127)
at org.netbeans.modules.compapp.catd.ConfiguredTest.sendMessage(Configu
redTest.java:1445)
at org.netbeans.modules.compapp.catd.ConfiguredTest$ConcurrentTestSendO
nlyRunnable.run(ConfiguredTest.java:1301)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.
OAPExceptionImpl: Message send failed
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSO
APConnection.java:121)
... 3 more
Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSO
APConnection.java:305)
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection$Priviledged
Post.run(HttpSOAPConnection.java:150)
... 5 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.Socket.connect(Socket.java:516)
at java.net.Socket.connect(Socket.java:466)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
at sun.net.www.http.HttpClient.New(HttpClient.java:287)
at sun.net.www.http.HttpClient.New(HttpClient.java:299)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURL
Connection.java:796)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConn
ection.java:748)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnectio
n.java:673)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLC
onnection.java:840)
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSO
APConnection.java:262)
... 6 more
Possible Solutions:
Unprovisioned PortTypes in WSDLWhen building a Composite Application project in NetBeans, you might get an error that looks like the following in the Output window of Netbeans:
***Warning: PORT w/o address: {yahoonews}YahooNewsPt
This error message indicates that you have a WSDL in your project with a particular PortType that is not being provisioned and/or it's not being called. Basically it indicates an unused WSDL. This may or may not be good depending on whether you expect the WSDL to be used as part of your composite application.
SOAP Faults Without Detailed MessagesA project can build and deploys properly, but running a test case can generate a SOAP Fault that has no detail. This SOAP fault can look something like this:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/
http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring></faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Solution:
SOAP Faults: Resolving One or More OperationsAfter creating a WSDL, provisioning it using the HTTP BC and the BPEL Service Engine, and deploying it, a generated test case (created using the test case generator in the Composite Application project) results in an error similar to this:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/
http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>More than one operation defined. Unable to resolve
operation: ...</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Solution:
If HTTP BC cannot determine how to route the message it receives at a particular endpoint to the correct operation, you will receive the Fault message shown above.
|
|||||||||||||||||||||