KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > bindings > xml > XMLBindingExtensionTest


1 package org.objectweb.celtix.bus.bindings.xml;
2
3 import java.net.*;
4 import java.util.*;
5 import javax.wsdl.Binding;
6 import javax.wsdl.BindingInput;
7 import javax.wsdl.BindingOperation;
8 import javax.wsdl.BindingOutput;
9 import javax.wsdl.Definition;
10 import javax.wsdl.extensions.ExtensionRegistry;
11 import javax.xml.namespace.QName JavaDoc;
12
13 import junit.framework.TestCase;
14
15 import org.objectweb.celtix.Bus;
16 import org.objectweb.celtix.bindings.xmlformat.TBody;
17
18 public class XMLBindingExtensionTest extends TestCase {
19
20     public void testExtensionRegister() throws Exception JavaDoc {
21         Bus bus = Bus.init();
22         int inCount = 0;
23         int outCount = 0;
24         ExtensionRegistry registry = bus.getWSDLManager().getExtenstionRegistry();
25         assertNotNull(registry);
26         
27         if (registry.getAllowableExtensions(BindingInput.class) != null) {
28             inCount = registry.getAllowableExtensions(BindingInput.class).size();
29         }
30         
31         if (registry.getAllowableExtensions(BindingOutput.class) != null) {
32             outCount = registry.getAllowableExtensions(BindingOutput.class).size();
33         }
34
35         Set inputSet = registry.getAllowableExtensions(BindingInput.class);
36         Set outputSet = registry.getAllowableExtensions(BindingOutput.class);
37
38         assertNotNull(inputSet);
39         assertNotNull(outputSet);
40         
41         assertEquals(inputSet.size() - inCount, outputSet.size() - outCount);
42         // Since during the bus init, the xml binding factory already register the extensor
43
// So, there should have no difference.
44
assertTrue(inputSet.size() == inCount);
45         assertTrue(outputSet.size() == outCount);
46     }
47
48     public void testXMLBindingExtensor() throws Exception JavaDoc {
49         Bus bus = Bus.init();
50         ExtensionRegistry registry = bus.getWSDLManager().getExtenstionRegistry();
51         assertNotNull(registry);
52         
53         URL wsdlUrl = getClass().getResource("/wsdl/hello_world_xml_bare.wsdl");
54         Definition definition = bus.getWSDLManager().getDefinition(wsdlUrl);
55         assertNotNull(definition);
56         QName JavaDoc wsdlName = new QName JavaDoc("http://objectweb.org/hello_world_xml_http/bare", "HelloWorld");
57         assertEquals(definition.getQName(), wsdlName);
58
59         QName JavaDoc bindingName = new QName JavaDoc("http://objectweb.org/hello_world_xml_http/bare", "Greeter_XMLBinding");
60         Binding binding = definition.getBinding(bindingName);
61         assertNotNull(binding);
62
63         BindingOperation operation = binding.getBindingOperation("sayHi", "sayHiRequest", "sayHiResponse");
64         assertNotNull(operation);
65         BindingInput input = operation.getBindingInput();
66         assertNotNull(input);
67
68         TBody xmlBinding = null;
69         Iterator ite = input.getExtensibilityElements().iterator();
70         while (ite.hasNext()) {
71             Object JavaDoc obj = ite.next();
72             if (obj instanceof TBody) {
73                 xmlBinding = (TBody)obj;
74             }
75         }
76         assertNotNull(xmlBinding);
77         assertEquals(new QName JavaDoc("http://objectweb.org/hello_world_xml_http/bare", "sayHi"),
78                      xmlBinding.getRootNode());
79     }
80 }
81
Popular Tags