public Map<String, TypeDescriptor> getTypeDescriptorsForOutputPorts() throws UnknownOperationException, IOException { Map<String, TypeDescriptor> descriptors = new HashMap<String, TypeDescriptor>(); List<TypeDescriptor> inputDescriptors = parser .getOperationOutputParameters(configurationBean.getOperation().getOperationName()); for (TypeDescriptor descriptor : inputDescriptors) { descriptors.put(descriptor.getName(), descriptor); } return descriptors; }
public TypeDescriptor getTypeDescriptorForOutputPort(String portName) throws UnknownOperationException, IOException { TypeDescriptor result = null; List<TypeDescriptor> outputDescriptors = parser .getOperationOutputParameters(configurationBean.getOperation().getOperationName()); for (TypeDescriptor descriptor : outputDescriptors) { if (descriptor.getName().equals(portName)) { result = descriptor; break; } } return result; }
@Test public void testLiteralUnwrappedParserForNonXMLOutput() throws Exception { SOAPResponseParserFactory factory = SOAPResponseParserFactory.instance(); List<String> response = new ArrayList<String>(); WSDLParser wsdlParser = new WSDLParser(wsdlResourcePath("TestServices-unwrapped.wsdl")); SOAPResponseParser parser = factory.create(response, "literal", "document", wsdlParser.getOperationOutputParameters("getString")); assertTrue("The parser is the wrong type, it was:"+parser.getClass().getSimpleName(),parser instanceof SOAPResponsePrimitiveLiteralParser); }
WSDLParser parser = proc.getParser(); try { List outputs = parser.getOperationOutputParameters(proc .getOperationName()); for (Iterator it = outputs.iterator(); it.hasNext();) {
@Test public void testLiteralUnwrappedAlternativeWSDL() throws Exception { SOAPResponseParserFactory factory = SOAPResponseParserFactory.instance(); List<String> response = new ArrayList<String>(); WSDLParser wsdlParser = new WSDLParser(wsdlResourcePath("prodoric.wsdl")); SOAPResponseParser parser = factory.create(response, "literal", "document", wsdlParser.getOperationOutputParameters("hello")); assertTrue("The parser is the wrong type, it was:"+parser.getClass().getSimpleName(),parser instanceof SOAPResponsePrimitiveLiteralParser); } }
@Test public void testWrappedArrayDefinedWithRestriction() throws Exception { WSDLParser parser = new WSDLParser(WSDLTestHelper.wsdlResourcePath("jws-online.wsdl")); TypeDescriptor descriptor = parser.getOperationOutputParameters("getSteadyStateTable").get(0); XMLOutputSplitter splitter = new XMLOutputSplitter(descriptor, new String [] {"model","fluxNames","fluxVals"}, new String [] {"text/plain","l('text/plain')","l('text/plain')"}, new String[] {"input"}); String inputXML=getResourceContentsString("jws-splitter-input.xml"); Map<String,String> inputMap = new HashMap<String,String>(); inputMap.put("input", inputXML); Map<String,Object> outputMap = splitter.execute(inputMap); assertNotNull(outputMap.get("model")); assertNotNull(outputMap.get("fluxNames")); assertNotNull(outputMap.get("fluxVals")); assertEquals("teusink",outputMap.get("model")); List<String> array = ( List<String> )outputMap.get("fluxNames"); assertEquals(17,array.size()); assert(array.contains("v[G3PDH]")); array = ( List<String> )outputMap.get("fluxVals"); assertEquals(17,array.size()); assert(array.contains("88.15049285974906")); }
wsdlParser.getOperationOutputParameters("getPerson")); parser.setStripAttributes(true); Map outputMap = parser.parse(response);
wsdlParser.getOperationOutputParameters("getPerson")); parser.setStripAttributes(true); Map outputMap = parser.parse(response);
response.add(new SOAPBodyElement(doc.getDocumentElement())); SOAPResponseEncodedParser parser = new SOAPResponseEncodedParser(wsdlParser.getOperationOutputParameters("whatGeneInStage")); parser.setStripAttributes(true);
@Test public void testRPCComplexWithInternalList() throws Exception { WSDLParser parser = new WSDLParser(WSDLTestHelper.wsdlResourcePath("menagerie-complex-rpc.wsdl")); TypeDescriptor descriptor = parser.getOperationOutputParameters("getComplexWithInternalList").get(0); XMLOutputSplitter splitter = new XMLOutputSplitter(descriptor, new String [] {"length","innerArray","innerList"}, new String [] {"text/plain","l('text/plain')","l('text/plain')"}, new String[] {"input"}); String inputXML=getResourceContentsString("getComplexWithInternalListResponse.xml"); Map<String,String> inputMap = new HashMap<String,String>(); inputMap.put("input", inputXML); Map<String,Object> outputMap = splitter.execute(inputMap); assertNotNull(outputMap.get("length")); assertNotNull(outputMap.get("innerList")); assertNotNull(outputMap.get("innerArray")); assertEquals("4",outputMap.get("length")); List<String> array = ( List<String> )outputMap.get("innerArray"); assertEquals(4,array.size()); assertEquals("String A",array.get(0)); assertEquals("String B",array.get(1)); assertEquals("String C",array.get(2)); assertEquals("String D",array.get(3)); array = ( List<String> )outputMap.get("innerList"); assertEquals(4,array.size()); assertEquals("String A",array.get(0)); assertEquals("String B",array.get(1)); assertEquals("String C",array.get(2)); assertEquals("String D",array.get(3)); }
private void configurePorts() throws UnknownOperationException, IOException { List<TypeDescriptor> inputDescriptors = parser .getOperationInputParameters(configurationBean.getOperation().getOperationName()); List<TypeDescriptor> outputDescriptors = parser .getOperationOutputParameters(configurationBean.getOperation().getOperationName()); for (TypeDescriptor descriptor : inputDescriptors) { addInput(descriptor.getName(), descriptor.getDepth(), true, null, String.class); } isWsrfService = parser.isWsrfService(); if (isWsrfService) { // Make sure the port name is unique endpointReferenceInputPortName = ENDPOINT_REFERENCE; int counter = 0; while (Tools.getActivityInputPort(this, endpointReferenceInputPortName) != null) { endpointReferenceInputPortName = ENDPOINT_REFERENCE + counter++; } addInput(endpointReferenceInputPortName, 0, true, null, String.class); } for (TypeDescriptor descriptor : outputDescriptors) { addOutput(descriptor.getName(), descriptor.getDepth()); outputDepth.put(descriptor.getName(), Integer.valueOf(descriptor .getDepth())); } // add output for attachment list addOutput("attachmentList", 1); outputDepth.put("attachmentList", Integer.valueOf(1)); }
@Test public void testGoVizNoOutputs() throws Exception { WSDLParser parser = new WSDLParser(wsdlResourcePath("GoViz.wsdl")); List<TypeDescriptor> inputs = parser .getOperationInputParameters("destroySession"); List<TypeDescriptor> outputs = parser .getOperationOutputParameters("destroySession"); assertEquals("wrong number of inputs", 1, inputs.size()); assertEquals("wrong number of outputs", 0, outputs.size()); TypeDescriptor typeDesc = inputs.get(0); assertTrue("input should be BaseType", typeDesc instanceof BaseTypeDescriptor); assertEquals("wrong name", "sessionID", typeDesc.getName()); assertEquals("wrong type", "string", typeDesc.getType()); }
List outputs = parser.getOperationOutputParameters(operationName); setDescription(parser.getOperationDocumentation(operationName));
@Test public void testArrayType() throws Exception { WSDLParser parser = new WSDLParser(wsdlResourcePath("bind.wsdl")); List<TypeDescriptor> inputs = parser .getOperationInputParameters("BIVGetRecords"); List<TypeDescriptor> outputs = parser .getOperationOutputParameters("BIVGetRecords"); assertEquals("wrong number of inputs", 1, inputs.size()); assertTrue("input should be of AArrayTypeDescriptor", inputs.get(0) instanceof ArrayTypeDescriptor); ArrayTypeDescriptor arrayTypeDesc = (ArrayTypeDescriptor) inputs.get(0); assertEquals("wrong name", "ids", arrayTypeDesc.getName()); assertEquals("wrong type", "ArrayOf_xsd_int", arrayTypeDesc.getType()); TypeDescriptor typeDesc = arrayTypeDesc.getElementType(); assertTrue("element should be of type BaseTypeDescriptor", typeDesc instanceof BaseTypeDescriptor); assertEquals("wrong type", "int", typeDesc.getType()); assertEquals("wrong number of outputs", 1, outputs.size()); assertTrue("output should be of ArrayTypeDescriptor", outputs.get(0) instanceof ArrayTypeDescriptor); arrayTypeDesc = (ArrayTypeDescriptor) outputs.get(0); assertEquals("wrong name", "BIVRecords", arrayTypeDesc.getName()); assertEquals("wrong type", "ArrayOfBIVRecord", arrayTypeDesc.getType()); typeDesc = arrayTypeDesc.getElementType(); assertEquals("wrong type", "BIVRecord", typeDesc.getType()); }
.getOperationInputParameters("BIVGetComplexRecord"); List<TypeDescriptor> outputs = parser .getOperationOutputParameters("BIVGetComplexRecord");
.getOperationInputParameters("run_eInfo"); List<TypeDescriptor> outputs = parser .getOperationOutputParameters("run_eInfo"); assertEquals("wrong number of inputs", 1, inputs.size()); assertEquals("wrong number of outputs", 1, outputs.size());