2009-08-20 69 views
0

我正在使用IBM的Rational Software Architect(本质上是Eclipse,我猜想)。我有一个包含代理类来访问Web服务(JAX-RPC)的JAR文件。我用一个简单的JSP页面创建了一个动态Web项目,其中我正尝试使用此库中的Proxy类来使用Web服务。从JSP页面代码:将JSP添加到JSP的运行时路径

<jsp:useBean id="queryProxy" scope="session" class="location.DataSearchProxy" /> 
<% queryProxy.setEndpoint("http://localhost:9080/CIDataService/services/DataSearch"); %> 
<%=queryProxy.query("SELECT street, city, prov, postcode FROM v_location WHERE c1 = '48704'") %> 

在这一点上我已经运行在WebSphere JSP页面当外部JAR文件添加但是到构建路径的库部分,在浏览器中;我得到“DataSearchProxy无法解析为类型”错误。

我一直在使用也尝试:

<%@ page import="location.DataSearchProxy" %> 
<% DataSearchProxy queryProxy = new DataSearchProxy(); %> 
<% queryProxy.setEndpoint("http://localhost:9080/CIDataService/services/DataSearch"); %> 
<%=queryProxy.query("SELECT street, city, prov, postcode FROM v_location WHERE c1 = '48704'") %> 

,但我得到了同样的错误。我有这种类型的Web-Project的感觉,我可能需要以其他方式引用它,以便可以从JSP页面或项目中的其他Beans中解析它。我可能会以错误的方式解决这个问题,我希望有人能够指出我从JSP使用Web服务的正确方向。

回答

1

您可能想要将jar打包到您的应用程序中。

  1. 从您的构建路径删除它(我们将在后面添加回来)
  2. 把JAR的EAR的根,将其拖动到你的应用程序项目,而不是Web应用程序
  3. 打开Web项目属性并转到Java EE依赖项。你应该看到那里提供的罐子。选择它,它会将它添加到这两个构建时间类路径和Manifest以便它在运行时拾取。
+0

啊完美!这是确切的问题,谢谢! – 2009-08-20 15:50:35