【问题标题】:HTTP transport error: java.net.MalformedURLException: no protocol: REPLACE_WITH_ACTUAL_URLHTTP 传输错误:java.net.MalformedURLException:无协议:REPLACE_WITH_ACTUAL_URL
【发布时间】:2011-07-24 15:08:30
【问题描述】:

我正在为 JAX RPC 使用基于存根的客户端方法 这是我的客户

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"));

    }

}

线程“主”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 在 com.sun.xml.rpc.client.http.HttpClientTransport.invoke(HttpClientTransport.java:148) 在 com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:96) 在 com.client.BookCatalog_Stub.getBookPrice(BookCatalog_Stub.java:70) ... 还有 1 个

【问题讨论】:

    标签: web-services jax-rpc


    【解决方案1】:

    尝试使用更具体的 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 位置并且遇到了同样的错误。添加第二个参数解决了我的问题。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-22
      相关资源
      最近更新 更多