2011-07-24 172 views
1

我使用JAX RPC 存根基於客戶端的方法這是我的客戶HTTP傳輸錯誤:java.net.MalformedURLException:無協議:REPLACE_WITH_ACTUAL_URL

package com; 

import java.rmi.RemoteException; 

import javax.xml.rpc.ServiceException; 

import com.client.BookCatalog; 
import com.client.BookCatalogService; 
import com.client.BookCatalogService_Impl; 

public class Client { 

    public static void main(String args[]) throws RemoteException { 

     BookCatalogService_Impl service = new BookCatalogService_Impl(); 

     BookCatalog bc = service.getBookCatalogPort(); 
     System.out.println(bc.getBookPrice("Web Services")); 

    } 

} 

異常線程 「main」 的java.rmi .RemoteException:HTTP傳輸錯誤:java.net.MalformedURLException:無協議:REPLACE_WITH_ACTUAL_URL;嵌套的異常是: HTTP傳輸誤差:java.net.MalformedURLException:沒有協議:REPLACE_WITH_ACTUAL_URL 在com.client.BookCatalog_Stub.getBookPrice(BookCatalog_Stub.java:87) 在com.Client.main(Client.java:19) 導致:HTTP傳輸錯誤:java.net.MalformedURLException:無協議:REPLACE_WITH_ACTUAL_URL at com.sun.xml.rpc.client.http.HttpClientTransport.invoke(HttpClientTransport.java:148) at com.sun.xml.rpc .client.StreamingSender._send(StreamingSender.java:96) 在com.client.BookCatalog_Stub.getBookPrice(BookCatalog_Stub.java:70) ... 1更

回答

0

嘗試使用喲的一個更具體的版本烏爾Web服務客戶端類的構造函數,例如:

java.net.URL wsdlLocation = new URL("http://service.com/services/Service?wsdl"); 
javax.xml.namespace.QName qualifiedServiceName = 
    new QName("http://you.service.namespace", "ServiceName"); 
BookCatalogService_Impl service = 
    new BookCatalogService_Impl(wsdlLocation, qualifiedServiceName); 
... 

我是用一個構造函數只有WSDL位置,並得到同樣的錯誤。添加第二個參數解決了我的問題。

希望這會有所幫助!

相關問題