我有一个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出现问题的线路/结构?
答案 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
文件夹设置为部署到'/'