This topic provides a set of specific tips to help you troubleshoot problems you experience with the Web services enablement of the service integration bus.
To help you identify and resolve bus-enabled Web services-related problems, use the WebSphere® Application Server trace and logging facilities as described in Tracing and logging configuration.
To enable trace for bus-enabled Web services, set the application server trace string to com.ibm.ws.sib.webservices.*=all=enabled. If you encounter a problem that you think might be related to bus-enabled Web services, you can check for error messages in the WebSphere Application Server administrative console, and in the application server SystemOut.log file. You can also enable the application server debug trace to provide a detailed exception dump.
A list of the main known restrictions that apply when using bus-enabled Web services is provided in bus-enabled Web services - Known restrictions.
WebSphere Application Server system messages are logged from a variety of sources, including application server components and applications. Messages logged by application server components and associated IBM® products start with a unique message identifier that indicates the component or application that issued the message. The prefix for the bus-enabled Web services component is CWSWS.
The Troubleshooter reference: Messages topic contains information about all WebSphere Application Server messages, indexed by message prefix. For each message there is an explanation of the problem, and details of any action that you can take to resolve the problem.
generalException: com.ibm.ws.sib.webservices.exception.SIBWSUnloggedException: CWSWS1036E: The following exception occurred while connecting to the service integration bus *.com.ibm.wsspi.sib.core.exception.SIAuthenticationException: CWSIT0010E: A client request for messaging engine messaging_engine_name in bus bus_name failed with reason: CWSIT0016E: The user ID failed authentication in bus bus_name.Use the Work Load Management (WLM) cluster topology as an alternative configuration. For more information, see the following IBM developerWorks® article: Configure a service integration bus in a network deployment environment.
java.net.SocketTimeoutException: Socket operation timed out before it could be completed
The default timeout value is 60 seconds, so this error occurs if the target Web service takes longer than 60 seconds to respond. You can increase the timeout value by setting a timeout custom property on the inbound port as described in Inbound Ports [Settings].
Bus-enabled Web services performs more validation on Web service messages than is done in WebSphere Application Server Version 5. As a result, some client applications that use poorly-formed requests or responses (where the message parts are misnamed), and that work when using Version 5, are identified as poorly-formed in Version 6. For the steps to take to resolve the problem, see Toleration of poorly-formed SOAP messages
SibMessage W [:] CWSIT0009W: A client request failed in the application server with endpoint <endpoint_name> in bus your_bus with reason: CWSIT0016E: The user ID null failed authentication in bus your_bus.
For the steps to take to resolve the problem, see the following service integration technologies troubleshooting tip: Service integration bus security - troubleshooting tips
If "No Transaction Isolation on non-logging databases." is displayed as part of an exception message, it is because logging is disabled on the Informix database being used. To use an Informix database with the SDO repository, you must enable logging.
javax.transaction.TransactionRolledbackException: CORBA TRANSACTION_ROLLEDBACK 0x0 No; nested exception is: org.omg.CORBA.TRANSACTION_ROLLEDBACK: javax.transaction.TransactionRolledbackException: ; nested exception is: javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException: PMGR1013E: Exception occured when verifying current backend id INFORMIX_V94: javax.resource.spi.ResourceAllocationException: DSRA0080E: An exception was received by the Data Store Adapter. See original exception message: No Transaction Isolation on non-logging db's., error code: DSA_ERROR, error code: DSA_ERROR vmcid: 0x0 minor code: 0 completed: No
The service was published to the UDDI registry, and the service configuration shown in the WebSphere Application Server administrative console includes a UDDI Service Key, but the service has subsequently been unpublished from UDDI without the corresponding update being applied to the WebSphere Application Server master configuration. One way in which this situation can arise is if you use the administrative console to delete an inbound service that is published to a UDDI registry, then log out of the administrative console without saving your changes. In this case, the service is unpublished from the UDDI registry, but not deleted from WebSphere Application Server (because the delete request is not confirmed, and therefore is not applied).
A Web service client application running in a server that is a member of a bus can locate a messaging engine in that bus. A Web service client application running outside of an application server - for example, running outside the WebSphere Application Server environment - cannot locate directly a suitable messaging engine to connect to in the target bus. Similarly, a Web service client application running on a server in one cell that needs to connect to a target bus in another cell cannot locate directly a suitable messaging engine to connect to in the target bus.
To enable the Web service client application to contact a target messaging engine in a remote bus, configure the JMS connection factory that the client uses so that the client can connect to a bootstrap messaging engine in the remote bus. The bootstrap messaging engine then identifies the target engine, and the information required to access the target engine is passed back to the client. For the bootstrap process to be possible, configure one or more provider end points in the connection factory used by the client. For more information, see Configuring connection to a non-default bootstrap server.
Before you delete a bus, ensure that all inbound services within the bus are manually deleted and that all endpoint listeners are disconnected from the bus. The following sample Jacl script illustrates the required cleanup process:
# Sample script to demonstrate cleanup of Web services resources and deletion # of a service integration bus. Applicable to WebSphere Application Server Version 6.0 only. # # NOTE: This script is a sample only and is not supported by IBM. # # Usage: # wsadmin -f wsDeleteSIBus.jacl <busName> # Arguments: # busName - Name of the SIBus to be deleted. if { $argc != 1 } { puts stderr "Supply the bus name as a parameter." exit 1 } #--- Get the specified bus. set busName [lindex $argv 0] set bus [$AdminConfig getid /SIBus:$busName/] if { [string length $bus] == 0 } { puts stderr "Bus not found: $busName" exit 2 } #--- Delete all the inbound services within the bus to ensure no endpoint #--- listeners are left referencing non-existent services after the bus is #--- deleted. set inServices [$AdminConfig list SIBWSInboundService $bus] foreach inService $inServices { set inServiceName [$AdminConfig showAttribute $inService "name"] puts "Deleting inbound service: $inServiceName" $AdminTask deleteSIBWSInboundService $inService } #--- Ensure all endpoint listeners are disconnected from the bus. set epls [$AdminConfig list SIBWSEndpointListener] foreach epl $epls { set args [list -bus $busName] if { [catch { $AdminTask disconnectSIBWSEndpointListener $epl $args }] == 0 } { set eplName [$AdminConfig showAttribute $epl "name"] puts "Disconnected endpoint listener: $eplName" } } #--- Delete the bus. puts "Deleting bus: $busName" $AdminTask deleteSIBus [list -bus $busName] #--- Save changes to the configuration. $AdminConfig save
If this error occurs, increase the heap size as described in Tuning bus-enabled Web services.
This problem is only found with older versions of the Mozilla Web browser. Upgrade your browser to Version 1.4 or later. As a workaround, click New a second time and the target panel is displayed.
This can only happen if there is no messaging engine on the service integration bus on which you are creating your inbound service. Create a messaging engine, then create a service destination, then re-run the wizard to create a new inbound service configuration.
See also Limitations
in the support for SOAP with attachments.
The service integration technologies can use Secure Sockets Layers (SSL) to invoke external Web services that include https:// in their addresses. For more information see Invoking outbound services over HTTPS.
You should not use the same names for messaging queues and queue connection factories that run on application servers on different machines, because the service integration technologies always look first for JMS destinations locally, and only use the full JNDI reference if they cannot find the destination locally. If you configure as an outbound service a Web service that is hosted on a remote machine, and you use the same names for messaging queues and queue connection factories on the remote machine and on the machine on which the outbound service is hosted, then the service integration technologies find and use the local queues even if the remote JNDI destination is provided in full in the WSDL service definition.
When you password-protect a Web service operation, check that you enter, in the "EJB References" for the authorization session bean, the correct JNDI name of the imported Web service enterprise bean. Note that this home is case sensitive.
<faultcode>SOAP-ENV:Client</faultcode> <faultstring>1.1</faultstring>
This message is consistent with Apache SOAP behavior, and is not correctable by the service integration technologies.
As with any synchronous endpoint listener, timeout errors can occur. To minimize the frequency of timeout errors, increase the timeout settings for the endpoint listener. If the problem persists, then disable trace and logging for service integration technologies by setting the application server trace string to com.ibm.ws.sib.webservices.*=all=disabled.