Webservice-使用Tomcat的SOAP的应用

1 篇文章 0 订阅
1 篇文章 0 订阅

Web Services 可以将应用程序转换为网络应用程序。

通过使用 Web Services,您的应用程序可以向全世界发布信息,或提供某项功能。

Web Services 可以被其他应用程序使用。

通过 Web Services,您的会计部门的 Win 2k 服务器可以与 IT 供应商的 UXIX 服务器相连接。

基本的 Web Services 平台是 XML+HTTP。

Web services 使用 XML 来编解码数据,并使用 SOAP 来传输数据。


参考文献及推荐阅读:

http://dev.rdxx.com/Java/WebService/2005-07/27/102648552.shtml
http://www.onjava.com/pub/a/onjava/2002/02/27/tomcat.html?page=1

1 下载SOAP

http://apache.mirror.phpchina.com/ws/axis/1_4/axis-bin-1_4.zip

 

2 xerces

http://xml.apache.org/dist/xerces-j/Xerces-J-bin.2.9.1.zip

 

3 JavaMail

http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/javamail-1_4_1.zip?BundledLineItemUUID=9p5IBe.pm1wAAAEZgx8LhFpM&OrderID=G6xIBe.pZPgAAAEZdh8LhFpM&ProductID=3v_ACUFBMTsAAAEYxBQ5AXuF&FileName=/javamail-1_4_1.zip

 

4 JSF(JavaBean Activation Framework)

http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jaf-1_1_1.zip?BundledLineItemUUID=d.JIBe.mX1cAAAEZvmRIclpM&OrderID=dDBIBe.mM7MAAAEZsWRIclpM&ProductID=zFnACUFBlVoAAAEYhxc5AXt.&FileName=/jaf-1_1_1.zip

 

http://127.0.0.1:8080/soap/servlet/rpcrouter

出现如下页面:

SOAP RPC Router

Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me.

 复制相关的*.jar进入Tomcat

D:/Tomcat/common/lib/soap.jar;
D:/Tomcat/common/lib/mail.jar;
D:/Tomcat/common/lib/xml-apis.jar;
D:/Tomcat/common/lib/activation.jar;
D:/Tomcat/common/lib/xercesImpl.jar

1 创建HelloWorldService.java

package onjava;
public class HelloWorldService
{
    public String getMessage()
    {
        return "Hello World!";
    }
}

2 HelloWorldClient.java
import java.io.*;
import java.util.*;
import java.net.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;

public class HelloWorldClient {
  
  public static String DEFAULT_ENDPOINT = "http://localhost:8080/soap/servlet/rpcrouter";

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

    String endPoint = DEFAULT_ENDPOINT;

    //Process Arguments
    if (args.length == 1)
      endPoint = args[0];
    else if (args.length > 1)
      System.out.println("java HelloWorldClient [endpoint]");

      // Build the SOAP RPC request message using the Call object
      Call call = new Call();
      call.setTargetObjectURI("urn:onjavaserver");
      call.setMethodName("getMessage");
      call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);

      // Create a URL object, which represents the endpoint
      URL url = new URL(endPoint);

      // Send the SOAP RPC request message using invoke() method
      Response resp = call.invoke(url, "");

      // Check the response.
      if (resp.generatedFault()) { // Error Occured
        Fault fault = resp.getFault();
        System.out.println("The Following Error Occured: ");
        System.out.println("  Fault Code   = " + fault.getFaultCode());  
        System.out.println("  Fault String = " + fault.getFaultString());
      } else { // Completed Successfully
        Parameter result = resp.getReturnValue();
        System.out.println(result.getValue());
      }
  }
}

3 Tomcat下的配置:

Deployed Service Information

'urn:onjavaserver' Service Deployment Descriptor

PropertyDetails
IDurn:onjavaserver
ScopeApplication
Provider Typejava
Provider Classonjava.HelloWorldService
Use Static Classfalse
MethodsgetMessage
Type Mappings 
Default Mapping Registry Class 

运行:
java HelloWorldClient
Hello World!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值