java - @javax.jws.WebService wsdlLocation ("WSLD file not found"- IBM RAD 9.0)

标签 java wsdl websphere jax-ws ibm-rad

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

今天,我向 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 出现问题?

最佳答案

以下是我在 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文件夹设置为部署到'/'

关于java - @javax.jws.WebService wsdlLocation ("WSLD file not found"- IBM RAD 9.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23633878/

相关文章:

websphere - 如何在 Websphere 7 JNDI 中配置字符串值?

spring - J2C别名在WAS服务器上有什么用?

java - 是否可以从 MQ 队列中删除消息而不检索消息或清除队列?

Java 正则表达式在字符串中查找数字

java - Android 编译错误 - 无法找到 java/util/function/Function 的字节码

Java ArrayList删除没有集合的重复项

java - 我可以全局设置 HTTP 连接的超时时间吗?

java - 什么是全局事务?

java - 无法在 SOAPUI 中导入 WSDL 文件 - NT 身份验证弹出窗口(加载 WSDL 时出错)

java - 使用 JAX-WS 绑定(bind)自定义重命名具有相同名称的 WSDL 元素