1 package org.codehaus.xfire.java.rpcliteral;
2
3 import org.codehaus.xfire.SOAPConstants;
4 import org.codehaus.xfire.java.test.TestHttpTransport;
5 import org.codehaus.xfire.plexus.PlexusXFireTest;
6 import org.codehaus.xfire.transport.TransportManager;
7 import org.codehaus.xfire.wsdl.WSDL;
8 import org.dom4j.Document;
9
10
11 /***
12 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
13 * @since Feb 21, 2004
14 */
15 public class BeanServiceTest
16 extends PlexusXFireTest
17 {
18 public void testBeanService() throws Exception
19 {
20 Document response =
21 invokeService( "Bean", "/org/codehaus/xfire/java/rpcliteral/bean11.xml" );
22
23 addNamespace( "sb", "urn:Bean" );
24 assertValid( "//sb:getSimpleBeanResponse/sb:out", response );
25 assertValid( "//sb:getSimpleBeanResponse/sb:out/sb:howdy[text()=\"howdy\"]", response );
26 assertValid( "//sb:getSimpleBeanResponse/sb:out/sb:bleh[text()=\"bleh\"]", response );
27 }
28
29 public void testBeanServiceWSDL() throws Exception
30 {
31 TransportManager tm = (TransportManager) lookup( TransportManager.ROLE );
32 tm.register( new TestHttpTransport() );
33
34
35 Document doc = getWSDLDocument( "Bean" );
36
37 addNamespace( "wsdl", WSDL.WSDL11_NS );
38 addNamespace( "xsd", SOAPConstants.XSD );
39
40 assertValid( "/wsdl:definitions/wsdl:types", doc );
41 assertValid( "/wsdl:definitions/wsdl:types/xsd:schema", doc );
42 assertValid( "/wsdl:definitions/wsdl:types/xsd:schema/xsd:complexType", doc );
43 assertValid( "/wsdl:definitions/wsdl:types/xsd:schema/xsd:complexType[@name=\"SimpleBean\"]", doc );
44 assertValid( "/wsdl:definitions/wsdl:types/xsd:schema/xsd:complexType[@name=\"SimpleBean\"]/xsd:sequence/xsd:element[@name=\"bleh\"]", doc );
45 assertValid( "/wsdl:definitions/wsdl:types/xsd:schema/xsd:complexType[@name=\"SimpleBean\"]/xsd:sequence/xsd:element[@name=\"howdy\"]", doc );
46 assertValid( "/wsdl:definitions/wsdl:types/xsd:schema/xsd:complexType[@name=\"SimpleBean\"]/xsd:sequence/xsd:element[@type=\"xsd:string\"]", doc );
47
48
49
50 }
51 }