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 ; 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 { 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 assertTrue(inputSet.size() == inCount); 45 assertTrue(outputSet.size() == outCount); 46 } 47 48 public void testXMLBindingExtensor() throws Exception { 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 wsdlName = new QName ("http://objectweb.org/hello_world_xml_http/bare", "HelloWorld"); 57 assertEquals(definition.getQName(), wsdlName); 58 59 QName bindingName = new QName ("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 obj = ite.next(); 72 if (obj instanceof TBody) { 73 xmlBinding = (TBody)obj; 74 } 75 } 76 assertNotNull(xmlBinding); 77 assertEquals(new QName ("http://objectweb.org/hello_world_xml_http/bare", "sayHi"), 78 xmlBinding.getRootNode()); 79 } 80 } 81 | Popular Tags |