Author: jason.greene(a)jboss.com
Date: 2006-10-17 16:05:06 -0400 (Tue, 17 Oct 2006)
New Revision: 1247
Modified:
trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDL11Reader.java
trunk/src/test/java/org/jboss/test/ws/common/wsdl11/WSDL11TestCase.java
Log:
Clear binding cache per definition
Fix WSDL11TestCase
Fix eventing test cases
Modified: trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDL11Reader.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDL11Reader.java 2006-10-17 19:03:21
UTC (rev 1246)
+++ trunk/src/main/java/org/jboss/ws/metadata/wsdl/WSDL11Reader.java 2006-10-17 20:05:06
UTC (rev 1247)
@@ -1089,6 +1089,9 @@
{
log.trace("BEGIN processServices: " + srcWsdl.getDocumentBaseURI());
+ // Each definition needs a clear binding cache
+ allBindings = null;
+
if (srcWsdl.getServices().size() > 0)
{
Iterator it = srcWsdl.getServices().values().iterator();
@@ -1116,6 +1119,9 @@
processServices(importDefinition);
}
}
+
+ // The binding cache must be clear after imports, so that undefined bindings can
be located
+ allBindings = null;
}
log.trace("END processServices: " + srcWsdl.getDocumentBaseURI());
Modified: trunk/src/test/java/org/jboss/test/ws/common/wsdl11/WSDL11TestCase.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/common/wsdl11/WSDL11TestCase.java 2006-10-17
19:03:21 UTC (rev 1246)
+++ trunk/src/test/java/org/jboss/test/ws/common/wsdl11/WSDL11TestCase.java 2006-10-17
20:05:06 UTC (rev 1247)
@@ -36,6 +36,7 @@
import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperation;
import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperationInput;
import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperationOutput;
+import org.jboss.ws.metadata.wsdl.WSDLRPCPart;
import org.jboss.ws.metadata.wsdl.WSDLService;
import org.jboss.ws.metadata.wsdl.WSDLTypes;
import org.jboss.ws.metadata.wsdl.WSDLUtils;
@@ -65,7 +66,7 @@
// check the echoString operation
WSDLInterfaceOperation wsdlOperation = wsdlInterface.getOperation(new
NCName("echoString"));
- assertEquals("document", wsdlOperation.getStyle());
+ assertEquals(Constants.URI_STYLE_IRI, wsdlOperation.getStyle());
WSDLInterfaceOperationInput wsdlInput = wsdlOperation.getInput(new
QName(TARGET_NAMESPACE, "echoString"));
assertEquals(new QName(TARGET_NAMESPACE, "echoString"),
wsdlInput.getXMLType());
@@ -74,7 +75,7 @@
// check the echoSimpleUserType operation
wsdlOperation = wsdlInterface.getOperation(new
NCName("echoSimpleUserType"));
- assertEquals("document", wsdlOperation.getStyle());
+ assertEquals(Constants.URI_STYLE_IRI, wsdlOperation.getStyle());
wsdlInput = wsdlOperation.getInput(new QName(TARGET_NAMESPACE,
"echoSimpleUserType"));
assertEquals(new QName(TARGET_NAMESPACE, "echoSimpleUserType"),
wsdlInput.getXMLType());
@@ -98,43 +99,17 @@
public void testRpcLitSimple() throws Exception
{
- File wsdlFile = new File("resources/common/wsdl11/RpcLitSimple.wsdl");
- assertTrue(wsdlFile.exists());
-
- WSDLDefinitionsFactory factory = WSDLDefinitionsFactory.newInstance();
- WSDLDefinitions wsdlDefinitions = factory.parse(wsdlFile.toURL());
- WSDLInterface wsdlInterface = wsdlDefinitions.getInterface(new
NCName("JaxRpcTestService"));
-
- // check if the schema has been extracted
- WSDLTypes wsdlTypes = wsdlDefinitions.getWsdlTypes();
- assertNotNull(WSDLUtils.getSchemaModel(wsdlTypes));
-
- // check the echoString operation
- WSDLInterfaceOperation wsdlOperation = wsdlInterface.getOperation(new
NCName("echoString"));
- assertEquals("rpc", wsdlOperation.getStyle());
-
- WSDLInterfaceOperationInput wsdlInput = wsdlOperation.getInput(new
QName("String_1"));
- assertEquals(Constants.TYPE_LITERAL_STRING, wsdlInput.getXMLType());
- wsdlInput = wsdlOperation.getInput(new QName("String_2"));
- assertEquals(Constants.TYPE_LITERAL_STRING, wsdlInput.getXMLType());
- WSDLInterfaceOperationOutput wsdlOutput = wsdlOperation.getOutput(new
QName("result"));
- assertEquals(Constants.TYPE_LITERAL_STRING, wsdlOutput.getXMLType());
-
- // check the echoSimpleUserType operation
- wsdlOperation = wsdlInterface.getOperation(new
NCName("echoSimpleUserType"));
- assertEquals("rpc", wsdlOperation.getStyle());
-
- wsdlInput = wsdlOperation.getInput(new QName("String_1"));
- assertEquals(Constants.TYPE_LITERAL_STRING, wsdlInput.getXMLType());
- wsdlInput = wsdlOperation.getInput(new QName("SimpleUserType_2"));
- assertEquals(new QName(TARGET_NAMESPACE, "SimpleUserType"),
wsdlInput.getXMLType());
- wsdlOutput = wsdlOperation.getOutput(new QName("result"));
- assertEquals(new QName(TARGET_NAMESPACE, "SimpleUserType"),
wsdlOutput.getXMLType());
+ verifyRPC("resources/common/wsdl11/RpcLitSimple.wsdl");
}
public void testRpcLitImport() throws Exception
{
- File wsdlFile = new File("resources/common/wsdl11/RpcLitImport.wsdl");
+ verifyRPC("resources/common/wsdl11/RpcLitImport.wsdl");
+ }
+
+ private void verifyRPC(String fileName) throws Exception
+ {
+ File wsdlFile = new File(fileName);
assertTrue(wsdlFile.exists());
WSDLDefinitionsFactory factory = WSDLDefinitionsFactory.newInstance();
@@ -147,27 +122,32 @@
// check the echoString operation
WSDLInterfaceOperation wsdlOperation = wsdlInterface.getOperation(new
NCName("echoString"));
- assertEquals("rpc", wsdlOperation.getStyle());
+ assertEquals(Constants.URI_STYLE_RPC, wsdlOperation.getStyle());
- WSDLInterfaceOperationInput wsdlInput = wsdlOperation.getInput(new
QName("String_1"));
- assertEquals(Constants.TYPE_LITERAL_STRING, wsdlInput.getXMLType());
- wsdlInput = wsdlOperation.getInput(new QName("String_2"));
- assertEquals(Constants.TYPE_LITERAL_STRING, wsdlInput.getXMLType());
- WSDLInterfaceOperationOutput wsdlOutput = wsdlOperation.getOutput(new
QName("result"));
- assertEquals(Constants.TYPE_LITERAL_STRING, wsdlOutput.getXMLType());
+ WSDLInterfaceOperationInput wsdlInput = wsdlOperation.getInputs()[0];
+ WSDLRPCPart childPart = wsdlInput.getChildPart("String_1");
+ assertEquals(Constants.TYPE_LITERAL_STRING, childPart.getType());
+ childPart = wsdlInput.getChildPart("String_2");
+ assertEquals(Constants.TYPE_LITERAL_STRING, childPart.getType());
+ WSDLInterfaceOperationOutput wsdlOutput = wsdlOperation.getOutputs()[0];
+ childPart = wsdlOutput.getChildPart("result");
+ assertEquals(Constants.TYPE_LITERAL_STRING, childPart.getType());
// check the echoSimpleUserType operation
wsdlOperation = wsdlInterface.getOperation(new
NCName("echoSimpleUserType"));
- assertEquals("rpc", wsdlOperation.getStyle());
+ assertEquals(Constants.URI_STYLE_RPC, wsdlOperation.getStyle());
- wsdlInput = wsdlOperation.getInput(new QName("String_1"));
- assertEquals(Constants.TYPE_LITERAL_STRING, wsdlInput.getXMLType());
- wsdlInput = wsdlOperation.getInput(new QName("SimpleUserType_2"));
- assertEquals(new QName(TARGET_NAMESPACE, "SimpleUserType"),
wsdlInput.getXMLType());
- wsdlOutput = wsdlOperation.getOutput(new QName("result"));
- assertEquals(new QName(TARGET_NAMESPACE, "SimpleUserType"),
wsdlOutput.getXMLType());
+ wsdlInput = wsdlOperation.getInputs()[0];
+ childPart = wsdlInput.getChildPart("String_1");
+ assertEquals(Constants.TYPE_LITERAL_STRING, childPart.getType());
+ childPart = wsdlInput.getChildPart("SimpleUserType_2");
+ assertEquals(new QName(TARGET_NAMESPACE, "SimpleUserType"),
childPart.getType());
+ wsdlOutput = wsdlOperation.getOutputs()[0];
+ childPart = wsdlOutput.getChildPart("result");
+ assertEquals(new QName(TARGET_NAMESPACE, "SimpleUserType"),
childPart.getType());
}
+
public void testEventSourceBinding() throws Exception
{
File wsdlFile = new
File("resources/common/wsdl11/inherit/wind_inherit.wsdl");