我已經使用axis2 java2wsdl實用程序從java類生成了一個WSDL,如下所示:由wsdl生成的Web服務客戶端與Deployed Web服務不兼容
java2wsdl -o C:\temp -cn com.temenos.webservices.customer.CustomerServiceWS
然後,我有一個應用程序服務器中部署相同的Web服務(JBOSS說)在Axis2和我可以瀏覽HTTP的wsdl:// 127.0.0.1:8080/axis2/services/CustomerServiceWS?wsdl和通過標準的客戶端調用此服務的方法,如等了SoapUI
問題是現在,當我使用標準的Java工具「的wsimport」通過提供WSDL位置作爲中生成客戶端:\ temp目錄(生成來自java2wsdl實用程序的WSDL),我的客戶端無法與已部署的Web服務進行通信。我正在使用以下代碼來訪問Web服務;
// Initialise WS
CustomerServiceWS service = null;
CustomerServiceWSPortType servicePort = null;
try {
URL wsdlLocation = new URL("http://127.0.0.1:8080/axis2/services/CustomerServiceWS?wsdl");
QName serviceName = new QName("http://customer.webservices.temenos.com", "CustomerServiceWS");
service = new CustomerServiceWS(wsdlLocation, serviceName);
servicePort = service.getCustomerServiceWSHttpSoap12Endpoint();
} catch (MalformedURLException murle) {
murle.printStackTrace();
return;
}
但是,當創建(服務端口)端點時,我得到以下錯誤;
Exception in thread "main" javax.xml.ws.WebServiceException: An attempt was made to construct the ServiceDelegate object with an service name that is not valid: {http://customer.webservices.temenos.com}CustomerServiceWS.
at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:173)
at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70)
at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:118)
at org.apache.axis2.jaxws.spi.ServiceDelegate.<init>(ServiceDelegate.java:218)
at org.apache.axis2.jaxws.spi.Provider.createServiceDelegate(Provider.java:59)
at javax.xml.ws.Service.<init>(Service.java:56)
at com.temenos.webservices.customer.CustomerServiceWS.<init>(CustomerServiceWS.java:42)
at com.temenos.services.customer.client.Client.testGetLanguage(Client.java:32)
at com.temenos.services.customer.client.Client.main(Client.java:21)
我試過很多東西,但它似乎並不喜歡任何東西。我錯過了什麼?
感謝,
-
SJunejo
我想我已經問過一些沒有人遇到過的東西...... – SJunejo