?? weatherservicetest.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 + -