2011-07-24 114 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位置,并得到同样的错误。添加第二个参数解决了我的问题。

希望这会有所帮助!

相关问题