java - 创建 Java Web 服务客户端

标签 java wsdl apache-axis

我正在尝试研究如何访问外部网络服务。 我在 eclipse 中为以下 Web 服务创建了一个 Web 服务客户端:

http://www.webservicex.net/ws/WSDetails.aspx?WSID=9&CATID=2

我尝试使用以下代码访问此网络服务:

public static void main(String[] args) {
    try{
        StockQuoteLocator locator = new StockQuoteLocator();
        locator.setEndpointAddress("StockQuoteSoap", "http://www.webservicex.net/stockquote.asmx");
        StockQuoteSoapStub stock = new StockQuoteSoapStub(locator);
        System.out.println(stock.getQuote("TEVA"));         
    } catch (Exception e){
        e.printStackTrace();
    }   
}

但我不断收到错误:

06/02/2012 11:29:51 org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.NoEndpoint
 faultSubcode: 
 faultString: No endpoint
 faultActor: 
 faultNode: 
 faultDetail: 
    {http://xml.apache.org/axis/}exceptionName:org.apache.axis.NoEndPointException
    {http://xml.apache.org/axis/}stackTrace:No endpoint
at NET.webserviceX.www.StockQuoteSoapStub.getQuote(StockQuoteSoapStub.java:93)
at Main.main(Main.java:17)

{http://xml.apache.org/axis/}hostname:MICHALEDR-DTW7

No endpoint
    at NET.webserviceX.www.StockQuoteSoapStub.getQuote(StockQuoteSoapStub.java:93)
    at Main.main(Main.java:17)

你能帮我解决这个问题吗?

最佳答案

它清楚地表明您的类路径中缺少这些类。

添加activation.jarjavamail.jar到你的类路径。

关于java - 创建 Java Web 服务客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9158068/

相关文章:

java - 从 mongo 聚合获取 java 原语,无需新的输出类

java - RowMapper返回null时JdbcTemplate做了什么?

java - 如何在服务调用中排除 Rampart 模块

java - 无法在 Log4j Spring 桌面应用程序中记录 java.sql.SQLException

java - SOAP 响应因负载过大而被截断

maven - XJC 生成错误 : can't parse argument number

web-services - 在没有 wsdl 的情况下在soapUI 中创建 MockService

xml - 在浏览器中读取 wsdl 文件

java - JSF 2.0 + axis2 集成是否可能?

java - 向客户端广播消息