001    package railo.runtime.functions.xml;
002    
003    import railo.runtime.PageContext;
004    import railo.runtime.exp.FunctionException;
005    import railo.runtime.exp.PageException;
006    import railo.runtime.ext.function.Function;
007    import railo.runtime.net.rpc.AxisUtil;
008    import railo.runtime.net.rpc.client.RPCClient;
009    import railo.runtime.op.Caster;
010    
011    /**
012     * 
013     */
014    public final class GetSOAPResponseHeader implements Function {
015    
016            private static final long serialVersionUID = 4667361359302875802L;
017            
018            public static Object call(PageContext pc, Object webservice,String namespace, String name) throws PageException {
019                    return call(pc,webservice,namespace,name,false);
020            }
021            public static Object call(PageContext pc, Object webservice, String namespace, String name, boolean asXML) throws PageException {
022                    if(!(webservice instanceof RPCClient))
023                            throw new FunctionException(pc, "getSOAPResponse", 1, "webservice", "value must be a webservice Object generated with createObject/<cfobject>");
024                    try {
025                            return AxisUtil.getSOAPResponseHeader(pc, (RPCClient) webservice, namespace, name, asXML);
026                    } catch (Exception e) {
027                            throw Caster.toPageException(e);
028                    }
029            }
030    }