Previous Contents Index Next |
Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition Troubleshooting Guide

> ## Chapter 8
> Integration Problems

> This chapter discusses problems that may occur between the Application Server product and an associated product or component.

> The following sections are contained in this chapter:

> - Web Server Problems
> - Database Problems
> - Messaging Problems

> ##

> Web Server Problems

> This section addresses the following types of web server problems:

> - Sun ONE Web Server Problems
> - Apache Web Server Problems
> - Reverse Proxy Plug-In Problems

> ### Sun ONE Web Server Problems

> For Sun ONE Web Server, the load balancer DTD and XML files should be located in the webserver_install_dir/webserver_instance/config directory.

> ### Apache Web Server Problems

> For Apache Web Server, the load balancer DTD and XML files should be located in the webserver_install_dir/webserver_instance/conf directory.

> ### Reverse Proxy Plug-In Problems

> Check to be sure that the file path for libpassthrough.so/passthrough.dll specified in the magnus.conf file is correct.

> ##

> Database Problems

> This section addresses the following problems:

> - Pooled connection to Sybase
> - Oracle XA Exception: Resource Manager doing work outside a global transaction

> ### Pooled connection to Sybase

> Attempting to configure the Application Server for pooled connection to Sybase., produces errors like the following:

> CORE3283: stderr: at....createDataSource(Unknown Source) ....
> CORE3283: stderr: at...createResource(Unknown Source)
> ....

> The errors occur for both com.sybase.jdbc2.jdbc.SybDataSource and com.sybase.jdbc2.jdbc.SybConnectionPoolDataSource.

> ##### Solution

> Sybase properties in server.xml must be configured exactly as expected, no more properties, no less properties: user, password, portNumber, serverName and databaseName.

> Here is an example of a correct configuration:

> <jdbc-connection-pool steady-pool-size="8" max-pool-size="32"
> max-wait-time-in-millis="60000"
> pool-resize-quantity="2"
> idle-timeout-in-seconds="300"
> is-isolation-level-guaranteed="true"
> is-connection-validation-required="false"
> connection-validation-method="auto-commit"
> fail-all-connections="false"
> datasource-classname="com.sybase.jdbc2.jdbc.SybDataSource"
> name="sbConnectionPool">
> <property name="user" value="your_sybase_user"/>
> <property name="password" value="your_sybase_user_password"/>
> <property name="portNumber" value="your_sybase_port_number"/>

> <property name="serverName" value="your_sybase_server_name"/>

> <property name="databaseName" value="your_sybase_database_name"/>

> </jdbc-connection-pool>

> ### Oracle XA Exception: Resource Manager doing work outside a global transaction

> When the resource manager is doing work outside a global transaction, you see an exception like this:

> WARNING: JTS5041:
> The resource manager is doing work outside a global transaction
> javax.transaction.xa.XAException ...

> ##### Solution 1

> Check your oracle version, if it is 8.1.6, there are separate patches that need to be installed. Check the Oracle website for details. (Oracle 8.1.7 and above is recommended for XA support.)

> ##### Solution 2

> In server.xml, make sure the jdbc-connection-pool element has the correct property settings to access the database. Make sure that the database is configured correctly, as well.

> ##

> Messaging Problems

> This section addresses the following types of messaging problems:

> - JMS broker won’t start.
> - SOAP FAULT with Apache SOAP 2.3.1 client

> ### JMS broker won’t start.

> Refer to Restart operation fails for information on this problem.

> ### SOAP FAULT with Apache SOAP 2.3.1 client

> When using Apache SOAP 2.3.1 client for accessing web-services installed on the application server, you must set the target namespace for the service to work (even though the client can access the services installed on other servers).

> The error occurs because, whenever the Application Server is invoked, it checks for the namespace of the service. If the namespace is empty it returns a SOAP FAULT.

> ##### Solution

> While a request like the following may work on other servers :

> <?xml.version='1.0'.encoding='UTF-8'?>
> <SOAP-ENV:Envelope.xmlns:SOAP-ENV=
> "http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Body >
> < ns1:sayHello.xmlns:ns1=" ";
> SOAP-ENV:encodingStyle=
> "http://schemas.xmlsoap.org/soap/encoding/" >
> <String_1.xsi:type="xsd:string"> Duke! </String_1>

> The form required by this Application Server is:

> <?xml.version='1.0'.encoding='UTF-8'?>
> <SOAP-ENV:Envelope.xmlns:SOAP-ENV=
> "http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Body>
> <ans1:sayHello xmlns:ans1="http://hello.org/wsdl">
> <String_1.xsi:type="xsd:string"> Duke! </String_1>

> ##

> Previous Contents Index Next

> Copyright 2004 Sun Microsystems, Inc. All rights reserved.