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

📄 weatherservicetest.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire.jaxb2;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import javax.xml.namespace.QName;import org.codehaus.xfire.aegis.type.Type;import org.codehaus.xfire.service.MessagePartInfo;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.ObjectServiceFactory;import org.codehaus.xfire.soap.SoapConstants;import org.codehaus.xfire.test.AbstractXFireTest;import org.codehaus.xfire.util.dom.DOMInHandler;import org.codehaus.xfire.util.dom.DOMOutHandler;import org.jdom.Document;/** * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> */public class WeatherServiceTest        extends AbstractXFireTest{    private Service service;    private ObjectServiceFactory factory;    public void setUp()            throws Exception    {        super.setUp();        factory = new JaxbServiceFactory(getXFire().getTransportManager());        factory.setStyle(SoapConstants.STYLE_DOCUMENT);                // Set the schemas        ArrayList<String> schemas = new ArrayList<String>();        schemas.add(getTestFile("src/test-schemas/WeatherForecast.xsd").getAbsolutePath());        Map<String,Object> props = new HashMap<String,Object>();        props.put(ObjectServiceFactory.SCHEMAS, schemas);                service = factory.create(WeatherService.class,                                  "WeatherService",                                  "urn:WeatherService",                                  props);                getServiceRegistry().register(service);    }    public void testService()            throws Exception    {        MessagePartInfo info = (MessagePartInfo)            service.getServiceInfo().getOperation("GetWeatherByZipCode").getInputMessage().getMessageParts().get(0);        assertNotNull(info);                Type type = (Type) info.getSchemaType();        assertTrue(type instanceof JaxbType);                assertTrue(type.isComplex());        assertFalse(type.isWriteOuter());                assertEquals(new QName("http://www.webservicex.net", "GetWeatherByZipCode"), info.getName());                Document response = invokeService("WeatherService", "GetWeatherByZip.xml");        addNamespace("w", "http://www.webservicex.net");        assertValid("//s:Body/w:GetWeatherByZipCodeResponse/w:GetWeatherByZipCodeResult", response);    }    /**     * We want to test with DOM mode to make sure that we aren't writing to the output stream.     * @throws Exception     */    public void testServiceWithDOMMode()            throws Exception    {        service.addInHandler(new DOMInHandler());        service.addOutHandler(new DOMOutHandler());                MessagePartInfo info = (MessagePartInfo)            service.getServiceInfo().getOperation("GetWeatherByZipCode").getInputMessage().getMessageParts().get(0);        assertNotNull(info);                Type type = (Type) info.getSchemaType();        assertTrue(type instanceof JaxbType);                assertTrue(type.isComplex());        assertFalse(type.isWriteOuter());                assertEquals(new QName("http://www.webservicex.net", "GetWeatherByZipCode"), info.getName());                Document response = invokeService("WeatherService", "GetWeatherByZip.xml");        addNamespace("w", "http://www.webservicex.net");        assertValid("//s:Body/w:GetWeatherByZipCodeResponse/w:GetWeatherByZipCodeResult", response);    }        public void testWsdl() throws Exception    {        Document doc = getWSDLDocument("WeatherService");printNode(doc);        addNamespace("xsd", SoapConstants.XSD);                assertValid("//xsd:schema[@targetNamespace='http://www.webservicex.net'][1]", doc);        assertInvalid("//xsd:schema[@targetNamespace='http://www.webservicex.net'][2]", doc);    }}

⌨️ 快捷键说明

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