⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 axis开发webservice传bean对象返回string串的实例.rtf

📁 用Axis开发Webservice传Bean对象返回String串的实例
💻 RTF
📖 第 1 页 / 共 2 页
字号:
   ****************************************************
   *Axis开发Webservice传Bean对象返回String串的实例.rtf*
   ****************************************************

在ECLIPSE 里新建一工程,其次建包,再次建类,
基本包:samples.userguide.example5
基本类: Order.java
        
内容:
    *  Order.java *
*《********************************

package samples.userguide.example5;

/**
 * This is a JavaBean which represents an order for some products.
 * Copyright: Copyright (c) 2007-1 
 * @author Black skin (blackskin@126.com)
 * @version 1.0
 */
public class Order {
	/** Who's ordering */
	private String customerName;

	/** Where do they live */
	private String shippingAddress;

	/** Which items do we want */
	private String itemCodes[];

	/** And how many */
	private int quantities[];

	// Bean accessors

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String name) {
		customerName = name;
	}

	public String getShippingAddress() {
		return shippingAddress;
	}

	public void setShippingAddress(String address) {
		shippingAddress = address;
	}

	public String[] getItemCodes() {
		return itemCodes;
	}

	public void setItemCodes(String[] items) {
		itemCodes = items;
	}

	public int[] getQuantities() {
		return quantities;
	}

	public void setQuantities(int[] quants) {
		quantities = quants;
	}
}

********************************》*

 

主服务包: samples.userguide.example5
主服务类: BeanService.java
          
 如下:
    * BeanService.java *
**《*******************************
package samples.userguide.example5;

/**
 * This is a JavaBean which represents an order for some products.
 * Copyright: Copyright (c) 2007-1 
 * @author Black skin (blackskin@126.com)
 * @version 1.0
 */

public class BeanService {
	public String processOrder(Order order) {
		String sep = System.getProperty("line.separator");

		String response = "Hi, " + order.getCustomerName() + "!" + sep;

		response += sep + "You seem to have ordered the following:" + sep;

		String[] items = order.getItemCodes();
		int[] quantities = order.getQuantities();

		for (int i = 0; i < items.length; i++) {
			response += sep + quantities[i] + " of item : " + items[i];
		}

		response += sep + sep + "If this had been a real order processing system, "
				        + sep + "we'd probably have charged you about now.";

		return response;
	}

	public static void main(String[] args) throws Exception{
		/** Who's ordering */
		String customerName = "Black Skin";
		/** Where do they live */
		String shippingAddress = "001 xingan Street, bayuquan, YK";
		/** Which items do we want */
		String[] items = new String[] { "apple", "160ml-Milk" };	
		/** And how many */
		int[] quantities = new int[] { 2, 4 };
		/** request class init() */
		Order order = new Order();
		order.setCustomerName(customerName);
		order.setShippingAddress(shippingAddress);
		order.setItemCodes(items);
		order.setQuantities(quantities);	
		/** server class init() */
		BeanService beanservice = new BeanService();
		String result = beanservice.processOrder(order);
		/** OutPut the result */
		System.out.println(" " + result);		
	}
		
}

********************************》*

 

 BeanService.java里有个本地测试方法(samples.userguide.example5.BeanService.main()),来测试此应用的可运行性;


到此,服务端类写完了,接着来把此类的方法发布成 WebService 接口

手写一个deploy.wsdd 文件,可以参考下面的例子:
      *deploy.wsdd例子*
*《********************************
<?xml version="1.0" encoding="utf-8"?> 
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> 
<service name="服务名" provider="java:RPC"> 
<parameter name="className" value="服务类文件的实际路径(包括包的信息)"/> 
<parameter name="allowedMethods" value="*(即为所有方法都可访问,如要指定多个可用空格分隔开)"/> 
<parameter name="allowedRoles" value="user"/> 
<parameter name="scope" value="Session"/> 
<requestFlow> 
<handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> 
</requestFlow> 
</service> 
</deployment> 
********************************》*

显然,简单,造一个deploy.wsdd 信手捏来,如下:
      *deploy.wsdd*
*《********************************
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <service name="OrderProcessor" provider="java:RPC">
        <parameter name="className" value="samples.userguide.example5.BeanService"/>
        <parameter name="allowedMethods" value="processOrder"/>
        <beanMapping qname="myNS:Order" xmlns:myNS="urn:BeanService" languageSpecificType="java:samples.userguide.example5.Order"/>
    </service>
</deployment>
********************************》*

有了deploy.wsdd文件了,接着通过它来生成 server-config.wsdd.
OK! 用命令直接生成就行;在deploy.wsdd 的文件夹下新建一个 makeWsdd.bat.
其中的写法有下面的例子来参考:

      * makeWsdd.bat 例子*
*《********************************
set AXISCLASSPATH= “应用发布的路径”
set AXIS_LIB= “AXIS框架的内部JAR包LIB路径”
SET CLASSPATH=.;%CLASSPATH%;%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\jaxrpc.jar;
%AXIS_LIB%\saaj.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar

java -Djava.ext.dirs=%AXISCLASSPATH% org.apache.axis.client.AdminClient 
 -S服务名\services\AdminService -p端口号(如果你的端口号不是默认的8080需要指定。
 例如:8899)deploy.wsdd 
********************************》*


如此,我写了一“makeWsdd.bat”文件。如下:

      * makeWsdd.bat*
*《********************************
set AXISCLASSPATH=C:\Axis_webservice\Tomcat_4.1\webapps\axis
set AXIS_LIB=C:\axis-1_4\lib
SET CLASSPATH=.;%CLASSPATH%;%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\jaxrpc.jar;
%AXIS_LIB%\saaj.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar

java -Djava.ext.dirs=%AXISCLASSPATH% org.apache.axis.client.AdminClient 
 -SBeanServer\services\AdminService -p 8080 deploy.wsdd
********************************》*

保存好,接下来架设Webservice.

环境架设:
首先,安装JDK...(略)...本例用JDK版本号V1.4.
其次,安装Tomcat...(略)...本例用Tomcat版本号V4.1.
再次,AXIS...(略)...本例用AXIS版本号V1.4. 去AXIS官方网站:http://www.apache.org下载AXIS,解压后得,
   |- axis-1_4
        |- docs 
	    |- ..(略)...
	|- lib
	    |- axis.jar
	    |- axis-ant.jar
	    |- commons-discovery-0.2.jar
	    |- commons-logging-1.0.4.jar
	    |- jaxrpc.jar
	    |- log4j-1.2.8.jar
	    |- log4j.properties
	    |- saaj.jar
	    |- wsdlj-1.5.1.jar
	|- samples
	    |- ..(略)...
	|- webapps
	    |- axis
	       |- ..(略)...
	|- xmls

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -