2014-10-19 124 views
0

我創建了一個使用SOAP服務器端點執行某些操作的Web應用程序(使用JSP)。我使用gradle來自動化構建。我的問題是,當我運行WebApp時,它找不到WSDL生成的類(並且我已經在build.gradle中指定了它們)。WSDL生成的文件

我的servlet的源文件在/SRC /主/爪哇/ servlet的和生成的WSDL文件是在/SRC-GEN /主/爪哇/ todo_soap

這裏我的WebApp 的build.gradle

buildscript { 
    repositories { 
     jcenter() 
    mavenCentral() 
    } 

    dependencies { 
     classpath (group: 'com.sahlbach.gradle', name: 'gradle-jetty-eclipse-plugin', version: '1.9.+') 
    classpath 'org.gradle.jacobo.plugins:gradle-wsdl-plugin:1.7.6' 
    classpath 'org.gradle.jacobo.plugins:gradle-jaxb-plugin:1.3.4' 
    } 
} 

apply plugin: 'com.github.jacobono.wsdl' 
apply plugin: 'com.github.jacobono.jaxb' 

apply plugin: 'java' 
apply plugin: 'war' 
apply plugin: 'jettyEclipse' 
apply plugin: 'eclipse' 
apply plugin: 'eclipse-wtp' 

repositories { 
    mavenCentral()            
} 

dependencies { 
    providedCompile 'javax.servlet:javax.servlet-api:3.0.1' 
    compile 'com.google.code.gson:gson:2.3' 
    jaxws "com.sun.xml.ws:jaxws-rt:2.2.8" 
    jaxws "com.sun.xml.ws:jaxws-tools:2.2.8" 
} 

// 
// See the documentation of this plugin at 
// https://github.com/jacobono/gradle-wsdl-plugin 
// 

wsdl { 
    wsdlFolder = "src/main/wsdl" 
    wsimport { 
    sourceDestinationDirectory = "src-gen/main/java" 
    wsdlLocation = "http://localhost.com:8081/toDoSOAP?wsdl" 
    } 
} 

sourceSets.main.java.srcDirs += wsdl.wsimport.sourceDestinationDirectory 
compileJava.dependsOn wsimport 

// 
// Required by XJC because toDoSOAP.xsd is a file 
// 

System.setProperty('javax.xml.accessExternalSchema', 'all') 

My full project here

+1

我們絕對需要更多信息。什麼沒有找到究竟是什麼?是否有任何錯誤消息或堆棧跟蹤? – 2014-10-19 19:55:41

回答

0

我只是測試你的代碼。下面是缺少信息的一個例子Martijn Courteaux請求:

/Users/javier/Downloads/Lab1-master/ToDo_SOAP_WebApp-ws/src/main/java/servlets/ToDoAddServlet.java:39: error: cannot find symbol 
     ToDoWebServiceService twss = new ToDoWebServiceService(); 
     ^
symbol: class ToDoWebServiceService 
location: class ToDoAddServlet 

錯誤的原因是,你忘了文件ToDoAddServlet.java中添加import todo_soap.*;。如果你看看src-gen\main\java,你可以看到生成的代碼屬於包todo_soap