@ javax.jws.WebService wsdlLocation(“找不到WSLD文件” - IBM RAD 9.0)

时间:2014-05-13 14:20:51

标签: java wsdl websphere jax-ws ibm-rad

我有一个Web服务,使用WSDL设计,首先使用一些定义的方法。 WSDL文件存储在src\main\resources\wsdl\myservice.wsdl中。使用mvn jaxws:wsimport生成java源代码。

今天我向WebService添加了一个简单的方法,我重新生成了源代码。 RAD显示wsdl没有错误。但是,它确实没有显示servlet类上的错误“找不到WSDL文件”:

@javax.jws.WebService(wsdlLocation = "wsdl/myservice.wsdl",  
endpointInterface = "com.example.MyService",  
targetNamespace = "http://example.com/myservice",  
serviceName = "myservice", portName = "myserviceSOAP11")
@javax.xml.ws.BindingType(value = javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING)
public class MyServiceImpl implements MyService 

除了定义了一个新方法之外,该类没有任何变化。

由于那些验证错误,我现在无法将服务部署到WebSphere。这些错误来自哪里?它可能是WSDL中的错误吗?如果是这样,当IBM RAD 9.0给出绝对没有关于WSDL本身的错误消息时,如何检查哪个?

- 编辑 -
我能够将所有更改移动到旧版RAD(8.0)中加载的项目副本,并设法启动并测试Web服务。看起来RAD 9.0不接受WSDL中的其他一些合法的构造。但是,没有给出任何具体的消息。是否有可能找出导致该IDE出现问题的线路/结构?

1 个答案:

答案 0 :(得分:2)

以下是我在RAD 9中使用的一些设置。所以我对你的项目结构做了一些假设。

  • 我在src/main/resources/wsdl文件夹中有wsdl文件。我假设您的资源文件夹还包含WEB-INF文件夹和网页(实际上我使用webapp文件夹而不是resources,但它的工作方式应该相似)。
  • 我的服务实现位于src/main/java文件夹中。
  • Window > Preferences > Java EE > Maven > Maven Project Settings中,我设置了Maven值。
  • 在选定的项目Properties > Deployment Assembly中,我将resources文件夹设置为部署到'/'