1 package org.codehaus.xfire.java.wsdl;
2
3 import javax.wsdl.Definition;
4 import javax.wsdl.Message;
5 import javax.xml.namespace.QName;
6 import org.codehaus.xfire.SOAPConstants;
7 import org.codehaus.xfire.java.AbstractJavaService;
8 import org.codehaus.xfire.plexus.PlexusXFireTest;
9 import org.codehaus.xfire.service.Service;
10 import org.codehaus.xfire.wsdl.WSDL;
11 import org.dom4j.Document;
12
13
14 /***
15 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
16 * @since Feb 21, 2004
17 */
18 public class RPCLiteralWSDLTest
19 extends PlexusXFireTest
20 {
21 public void testWSDL() throws Exception
22 {
23 AbstractJavaService echo = (AbstractJavaService) lookup( Service.ROLE, "Echo" );
24
25 RPCLiteralWSDL wsdl = (RPCLiteralWSDL) echo.getWSDL();
26
27 Definition def = wsdl.getDefinition();
28
29 wsdl.write( System.out );
30
31 Message request = def.getMessage( new QName("urn:Echo", "echoRequest") );
32
33 assertNotNull( request );
34 assertNotNull( request.getPart( "in0" ) );
35 assertEquals( "string", request.getPart( "in0" ).getTypeName().getLocalPart() );
36 assertNull( request.getPart("in0").getElementName() );
37
38 Message response = def.getMessage( new QName("urn:Echo", "echoResponse") );
39
40 assertNotNull( response );
41 assertNotNull( response.getPart( "out" ) );
42 assertEquals( "string", response.getPart( "out" ).getTypeName().getLocalPart() );
43 assertNull( response.getPart("out").getElementName() );
44
45 Document doc = wsdl.getDocument();
46
47 addNamespace( "wsdl", WSDL.WSDL11_NS );
48 addNamespace( "xsd", SOAPConstants.XSD );
49
50 }
51 }