2015-10-21 16 views
-1

我已經放在無法在此改變了Apache CXF WSDL位置2.4.6

E:/testworkspace/projectname/docroot 
        WEB-INF 
         src 
         com 
          test 
          wsdl 

的WSDL文件,如果我給的全路徑說wsdlLocation =「file:E:/testworkspace/projectname/docroot/WEB- INF/src/com/test/wsdl/some.wsdl」,它選擇的WSDL文件。

,但我需要讓通用像直接獲取:

 @WebServiceClient(name = "TestInterfaceService", 
     wsdlLocation = "WEB-INF/wsdl/some.wsdl",     
     targetNamespace = "http://www.google.com/job") 

    public class TestInterfaceService extends Service { 
    public final static URL WSDL_LOCATION; 
    public final static QName SERVICE = new QName("http://www.google.com/job", "TestInterfaceService"); 
    public final static QName TestInterfaceSoapHttpPort = new QName("http://www.google.com/job", "TestInterfaceSoapHttpPort"); 
    static { 
    URL url = null; 
    try { 

     url = new URL("WEB-INF/wsdl/some.wsdl"); 

    } catch (MalformedURLException e) { 
     java.util.logging.Logger.getLogger(TestInterfaceService.class.getName()) 
      .log(java.util.logging.Level.INFO, 
       "Can not initialize the default wsdl from {0}", "WEB-INF/wsdl/some.wsdl"); 
    } 
    WSDL_LOCATION = url; 
} 

能否請你建議如何從我的本地系統的獨立挑WSDL文件,目前它拋出的錯誤無法初始化默認的WSDL從WEB-INF/wsdl/some.wsdl

+0

您正在構建基於maven的項目嗎? –

+0

不是基於maven的 –

+0

這是一個動態的web項目嗎? –

回答

0

您需要一個有效的URL字符串才能創建一個新的URL。如果您的服務確實公開了該URL,則可能會使用該選項。

如果您的客戶端是一個Web應用程序,另一種選擇是提供的WSDL通過您的應用程序和使用http://localhost/app/some.wsdl

希望幫助從那裏引用它

+0

我如何在wsdlLocation中添加@WebServiceClient(name =「TestInterfaceService」, wsdlLocation =「WEB-INF/wsdl/some.wsdl」, targetNamespace =「http://www.google.com/job」) ?上述解決方案不會爲此wsdlLocation工作:( –

+0

wsdlLocation必須是一個URL請參閱http://docs.oracle.com/javaee/6/api/javax/xml/ws/WebServiceClient.html#wsdlLocation()。使用已發佈wsdl到你的web服務,或者讓你的wsdl通過你的客戶端的http可用 – Phuthib

0

不知道你正試圖在這裏achive什麼,只要WSLD文件在WEB-INF/wsdl以下,如果您將wsdl放入WEB-INF/src/com/test/wsdl並指定WSDL位置,如下所示:wsdlLocation = "WEB-INF/wsdl/some.wsdl - 當然,它不起作用,請將您的WSDL添加到WEB-INF/wsdl中,配置:wsdlLocation = "WEB-INF/wsdl/some.wsdl"完全正常,精細。

+0

是的,我已經把WSDL文件放在WEB-INF/wsdl/Some.wsdl中,但它說不能從WEB-INF/wsdl/some.wsdl。 –

+0

@Sangeethacg你是如何解決這個問題的? –