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

📄 wsdlreadertest.java

📁 精通Jboss——Ejb和Web Services开发精解的随书源代码
💻 JAVA
字号:
/**
 * Test.java Created on 2003-11-29
 *
 */
package com.liuyang.wsdl.io;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.wsdl.Binding;
import javax.wsdl.Definition;
import javax.wsdl.Message;
import javax.wsdl.Operation;
import javax.wsdl.Port;
import javax.wsdl.PortType;
import javax.wsdl.Service;
import javax.wsdl.WSDLException;
import javax.wsdl.factory.WSDLFactory;
import javax.wsdl.xml.WSDLReader;
import javax.xml.namespace.QName;

/**
 * @author 刘洋
 *
 */
public class WSDLReaderTest {

	public static void main(String[] args) {
		WSDLReaderTest test = new WSDLReaderTest();
		test.messagesRead("./wsdl/Helloworld.wsdl");
		test.operationsRead("./wsdl/Helloworld.wsdl");		
	}
	public void messagesRead(String fname){
		try{
			WSDLFactory factory = WSDLFactory.newInstance();
			WSDLReader reader = factory.newWSDLReader();
			reader.setFeature("javax.wsdl.verbose", true);
			reader.setFeature("javax.wsdl.importDocuments", true);
			Definition def = reader.readWSDL(null, fname);
			Map messages = def.getMessages();
			Iterator msgIterator = messages.values().iterator();
			while (msgIterator.hasNext()){
				Message msg = (Message)msgIterator.next();
				if (!msg.isUndefined()){
				System.out.println(msg.getQName());
				}
			}			
		} catch (WSDLException e){
			e.printStackTrace();
		}		
	}

	public void operationsRead(String fname){
		try{
			WSDLFactory factory = WSDLFactory.newInstance();
			WSDLReader reader = factory.newWSDLReader();
			reader.setFeature("javax.wsdl.verbose", true);
			reader.setFeature("javax.wsdl.importDocuments", true);
			Definition def = reader.readWSDL(null, fname);
			String tns = "http://hello.jaxrpc.samples/";
			Service service = def.getService(new QName(tns, "HelloWorld"));
			Port port = service.getPort("HelloPort");
			Binding binding = port.getBinding();
			PortType portType = binding.getPortType();
			List operations = portType.getOperations();
			Iterator opIterator = operations.iterator();
			while (opIterator.hasNext()){
				Operation operation = (Operation)opIterator.next();
				if (!operation.isUndefined()){
					System.out.println(operation.getName());
				}
			}							
		} catch (WSDLException e){
			e.printStackTrace();
		}		
	}	
}

⌨️ 快捷键说明

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