ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzatz_5.4.0.1/51/webserv/wswsiftrb.htm

89 lines
5.3 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<LINK rel="stylesheet" type="text/css" href="../../../rzahg/ic.css">
<title>Troubleshoot: Web Services Invocation Framework</title>
</head>
<BODY>
<!-- Java sync-link -->
<SCRIPT LANGUAGE="Javascript" SRC="../../../rzahg/synch.js" TYPE="text/javascript"></SCRIPT>
<h4><a name="wswsiftrb"></a>Troubleshoot: Web Services Invocation Framework</h4>
<p>If you encounter a problem that you think might be related to WSIF, you can check for error messages in the WebSphere Application Server administrative console, and in the application server <tt>stdout.log</tt> file. You can also enable the application server debug trace to provide a detailed exception dump. </p>
<p>A list of the main known restrictions that apply when using WSIF is provided in <a href="wswsifrest.htm">WSIF - Known restrictions</a>.</p>
<p>Here is a checklist of major WSIF activities, with advice on common problems associated with each activity:</p>
<p><strong>Create service</strong>
<br>Handcrafted <a href="wswsifwsdl.htm">WSDL</a> can cause numerous problems. To help ensure that your WSDL is valid, use a tool such as WebSphere Studio to create your service.</p>
<p><strong>Compile code (client and service)</strong>
<br>Check that the build path against code is correct, and that it contains the correct levels of JAR files.
Create a valid EAR file for your service in preparation for deployment to a Web server.</p>
<p><strong>Deploy service</strong>
<br>When you install and deploy the service EAR file, check carefully any messages given when the service is deployed.</p>
<p><strong>Server setup and start</strong>
<br>Make sure that the WebSphere Application Server - Express <tt>server.policy</tt> file (in the /properties directory) has the correct security settings. For more information, see <a href="wswsifmg.htm">Enabling security for WSIF</a>.</p>
<p><strong>WSIF setup</strong>
<br>Check that the <tt>wsif.properties</tt> file is correctly set up.</p>
<p>Here is a list of common errors, and information on their probable causes:</p>
<ul>
<li><p><strong>&quot;No class definition&quot; errors received when running client code.</strong></p>
<p>This problem usually indicates an error in the class path setup. Check that the relevant JAR files are included.</p></li>
<li><p><strong>&quot;Cannot find WSDL&quot; error.</strong></p>
<p>Some likely causes are:</p>
<ul>
<li>The application server is not running.</li>
<li>The server location and port number in the WSDL are not correct. </li>
<li>The WSDL is badly formed (check the error messages in the application server stdout.log file).</li>
<li>The application server has not been restarted since the service was installed.</li>
</ul>
<p>You might also try the following checks:</p>
<ul>
<li>Can you load the WSDL into your Web browser from the location specified in the error message?</li>
<li>Can you load the corresponding WSDL binding files into your Web browser?</li>
</ul><p></p></li>
<li><p><strong>Your Web service EAR file does not install correctly onto the application server.</strong></p>
<p>It is likely that the EAR file is badly formed. Open the http://pathToServer/WebServiceName/admin/list.jsp page (if you have the SOAP administration pages installed). This page lists all currently installed Web services.</p></li>
<li><p><strong>There is a permissions problem or security error.</p></strong>
<p>Check that the WebSphere Application Server - Express server.policy file (in the /properties directory) has the correct security settings. For more information, see &quot;Enabling security for WSIF&quot; in <a href="wswsifmg.htm">WSIF system management and administration</a></p></li>
<li><p><strong>Using WSIF with multiple clients causes a SOAP parsing error.</strong></p>
<p>Before you deploy a Web service to WebSphere Application Server, you must decide on the scope of the Web service. The deployment descriptor file dds.xml for the Web service includes the following line:</p>
<pre>
&lt;isd:provider type=&quot;java&quot; scope=&quot;Application&quot; ......
</pre>
<p>You can set the Scope attribute to Application or Session. The default setting is Application, and this value is correct if each request to the Web service does not require objects to be maintained for longer than a single instance. If Scope is set to Application the objects are not available to another request during the execution of the single instance, and they are released on completion. If your Web service needs objects to be maintained for multiple requests, and to be unique within each request, you must set the scope to Session. If Scope is set to Session, the objects are not available to another request during the life of the session, and they are released on completion of the session. If scope is set to Application instead of Session, you might get the following SOAP error: </p>
<pre>
SOAPException: SOAP-ENV:ClientParsing error, response was:
FWK005 parse may not be called while parsing.; nested exception is:
[SOAPException: faultCode=SOAP-ENV:Client; msg=Parsing error, response was:
FWK005 parse may not be called while parsing.;
targetException=org.xml.sax.SAXException:
FWK005 parse may not be called while parsing.] </pre></li>
</ul>
</body>
</html>