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

📄 httpauthtest.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire.transport.http;import java.lang.reflect.Proxy;import java.net.MalformedURLException;import org.codehaus.xfire.XFire;import org.codehaus.xfire.XFireFactory;import org.codehaus.xfire.client.Client;import org.codehaus.xfire.client.XFireProxy;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.fault.XFireFault;import org.codehaus.xfire.service.Echo;import org.codehaus.xfire.service.EchoImpl;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.MessageBindingProvider;import org.codehaus.xfire.service.invoker.ObjectInvoker;import org.codehaus.xfire.test.AbstractXFireTest;import org.codehaus.xfire.transport.Channel;import org.jdom.Element;import org.mortbay.jetty.Server;import org.mortbay.jetty.security.Constraint;import org.mortbay.jetty.security.ConstraintMapping;import org.mortbay.jetty.security.HashUserRealm;import org.mortbay.jetty.security.SecurityHandler;import org.mortbay.jetty.security.UserRealm;import org.mortbay.jetty.servlet.Context;import org.mortbay.jetty.servlet.ServletHandler;import org.mortbay.jetty.servlet.ServletHolder;public class HttpAuthTest    extends AbstractXFireTest{    private Service service;    private Server httpServer;    public void setUp() throws Exception    {        super.setUp();                httpServer = new Server(8191);                        Context context = new Context(httpServer,"/",Context.SESSIONS);                                ServletHolder servlet = new ServletHolder(new XFireServlet());                context.addServlet(servlet, "/*");        SecurityHandler sh = new SecurityHandler();        context.addHandler(sh);                HashUserRealm userRealm = new HashUserRealm();        userRealm.put("user", "pass");        userRealm.addUserToRole("user", "role");        assertNotNull(userRealm.authenticate("user", "pass", null));                sh.setUserRealm(userRealm);                Constraint constraint = new Constraint();        constraint.setName(Constraint.__BASIC_AUTH);;        constraint.setRoles(new String[]{"role"});        constraint.setAuthenticate(true);                        ConstraintMapping cm = new ConstraintMapping();        cm.setConstraint(constraint);        cm.setPathSpec("/*");                context.setAttribute(XFireServlet.XFIRE_INSTANCE, getXFire());                httpServer.start();                service = getServiceFactory().create(Echo.class);        service.setProperty(ObjectInvoker.SERVICE_IMPL_CLASS, EchoImpl.class);                service.setBindingProvider(new MessageBindingProvider());        getServiceRegistry().register(service);    }    protected XFire getXFire()    {        XFireFactory factory = XFireFactory.newInstance();        return factory.getXFire();    }    protected void tearDown()        throws Exception    {        httpServer.stop();                super.tearDown();    }    public void testProxy() throws MalformedURLException, XFireFault    {        Echo echo = (Echo) new XFireProxyFactory().create(service, "http://localhost:8191/Echo");                Client client = ((XFireProxy) Proxy.getInvocationHandler(echo)).getClient();        client.setProperty(Channel.USERNAME, "user");        client.setProperty(Channel.PASSWORD, "pass");                Element root = new Element("root", "a", "urn:a");        root.addContent("hello");                Element e = echo.echo(root);                assertEquals(root.getName(), e.getName());    }}

⌨️ 快捷键说明

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