WEB开发网
开发学院软件开发Java 使用 Apache Geronimo 将 Apache Axis 应用程序移... 阅读

使用 Apache Geronimo 将 Apache Axis 应用程序移植到 Axis2

 2010-03-19 00:00:00 来源:WEB开发网   
核心提示: 注意,Ask 操作的返回类型和传入对象分别是 AskResponseDocument 和 AskDocument,使用 Apache Geronimo 将 Apache Axis 应用程序移植到 Axis2(8),而不仅仅是简单的 String 对象,像 Axis 一样,Java 客户机调用 W

注意,Ask 操作的返回类型和传入对象分别是 AskResponseDocument 和 AskDocument,而不仅仅是简单的 String 对象。像 Axis 一样,问题还是 String 对象,可以通过首先获得传入的 AskDocument 对象中的 Ask 对象并调用 Ask 对象的 getQuestion() 方法来获得问题。

用粗体字显示的最后七行创建了响应。首先,AskResponseDocument 对象通过在 AskResponseDocument 中创建的 AskResponse 对象得以实例化。最后,将通过调用 AskResponse 对象的 setAnswer() 方法设置回答。注意,AskResponseDocument 将作为响应返回到进行调用的 SOAP 客户端。回答和 AskResponse 对象将封装在 AskResponseDocument 对象中。

如上例所示,使用 Axis2 更模块化的体系结构,向 Axis2 添加更多特性和功能的过程更容易编码和实现。

Java 客户机

调用 Web 服务也很不同一般,这反映了 Axis2 的改进和提高。请在 ./src/com/ibm/axis2/ask/Client.java 中创建一个文件并如 清单 5 所示定义它。

清单 5. Axis2 客户机代码

package com.ibm.axis2.ask; 
 
import com.example.www.ask.xsd.*; 
 
public class Client{ 
  public static void main(java.lang.String args[]){ 
    try{ 
      AskPortTypeStub stub = new AskPortTypeStub(null, 
        "http://localhost:8080/axis2/services/AskService"); 
      ask(stub); 
    } catch(Exception e){ 
      e.printStackTrace(); 
    } 
  } 
 
  /* Ask */ 
  public static boolean ask(AskPortTypeStub stub){ 
    try{ 
      AskDocument reqDoc = AskDocument.Factory.newInstance(); 
      AskDocument.Ask reqDoc2 = reqDoc.addNewAsk(); 
      reqDoc2.setQuestion("I have a hole in"+ 
        " my bucket, dear Liza, with what should I fix it?"); 
 
      AskResponseDocument resDoc = stub.Ask(reqDoc); 
      System.out.println("ANSWER RECEIVED: " + 
                resDoc.getAskResponse().getAnswer()); 
      return true; 
    } catch(Exception e){ 
      e.printStackTrace(); 
    } 
    return false; 
  } 
} 

上一页  3 4 5 6 7 8 9  下一页

Tags:使用 Apache Geronimo

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接