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

📄 extensibilityquerybindingimpl.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
字号:
/** * ExtensibilityQueryBindingImpl.java * */package test.wsdl.extensibility;import org.apache.axis.components.logger.LogFactory;import org.apache.axis.message.MessageElement;import org.apache.axis.message.Text;import org.apache.commons.logging.Log;import javax.xml.namespace.QName;import java.io.PrintWriter;import java.io.StringWriter;import java.rmi.RemoteException;import java.util.Calendar;public class ExtensibilityQueryBindingImpl implements ExtensibilityQueryPortType {    private final static String[] books = new String[] { "The Grid", "The Oxford Dictionary" };     private final static String[] subjects = new String[] { "Computer Science", "English" };     protected static Log log =            LogFactory.getLog(ExtensibilityQueryBindingImpl.class.getName());    public ExtensibilityType query(ExtensibilityType query) throws RemoteException {        ExtensibilityType result = new ExtensibilityType();        Object obj = null;        try {            obj = query.get_any()[0].getObjectValue(BookType.class);        } catch (Exception e) {            StringWriter writer = new StringWriter();            PrintWriter out = new PrintWriter(writer);            log.error("Error converting query: " + writer.toString());            throw new RemoteException(e.toString());        }        log.error("Incoming MessageContext " + obj + " : " + query.get_any()[0].toString());        if (obj instanceof BookType) {            BookType bookQuery = (BookType)obj;            String subject = bookQuery.getSubject();            if (!"all".equals(subject)) {                throw new RemoteException("ExtensibilityQueryBindingImpl: Book subject query should be all, instead was " + subject);            }            ResultListType resultList = new ResultListType();            QueryResultType[] queryResult = new QueryResultType[books.length];            for (int i = 0; i < books.length; i++) {                queryResult[i] = new QueryResultType();                queryResult[i].setName(subjects[i]);                queryResult[i].setStatus(StatusType.MORE);                queryResult[i].setValue(books[i]);                queryResult[i].setTime(Calendar.getInstance());                queryResult[i].setQueryType(new QName("urn:QueryType","BookQuery"));            }            resultList.setResult(queryResult);            QName elementName = QueryResultElement.getTypeDesc().getFields()[0].getXmlName();            MessageElement me = new MessageElement(elementName.getNamespaceURI(), elementName.getLocalPart(), resultList);            log.debug("Outgoing message: " + me.toString());            result.set_any(new MessageElement [] { me });        } else {            throw new RemoteException("Failed to get FindBooksQueryExpressionElement. Got: " + obj);        }        return result;    }        public ExtensibilityType mixedQuery(ExtensibilityType query)         throws RemoteException {        MessageElement [] elements = query.get_any();        if (elements == null) {            throw new RemoteException("No any");        }        if (elements.length != 3) {            throw new RemoteException("Expected: 3 got: " + elements.length +                                      " element");        }                String expected = "123  456";        String received = elements[0].toString();                if (!expected.equals(received)) {            throw new RemoteException("Expected: " + expected +                                       " received: " + received);        }                Object obj = null;        try {            obj = elements[1].getObjectValue(BookType.class);        } catch (Exception e) {            throw new RemoteException("Failed to deserialize", e);        }        BookType bookQuery = (BookType)obj;        String subject = bookQuery.getSubject();        if (!"all".equals(subject)) {            throw new RemoteException("ExtensibilityQueryBindingImpl: Book subject query should be all, instead was " + subject);        }                expected = "789";        received = elements[2].toString();                if (!expected.equals(received)) {            throw new RemoteException("Expected: " + expected +                                       " received: " + received);        }                ExtensibilityType reply = new ExtensibilityType();                 MessageElement [] replyElements = new MessageElement[2];                BookType book = new BookType();        book.setSubject("gotAll");        QName elementName = FindBooksQueryExpressionElement.getTypeDesc().getFields()[0].getXmlName();        replyElements[0] = new MessageElement(elementName.getNamespaceURI(), elementName.getLocalPart(), book);        replyElements[1] = new MessageElement(new Text("ABCD"));                reply.set_any(replyElements);                return reply;    }}

⌨️ 快捷键说明

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