Search in sources :

Example 51 with Part

use of javax.wsdl.Part in project cxf by apache.

the class WSDLDefinitionBuilderTest method testBuildImportedWSDL.

@Test
public void testBuildImportedWSDL() throws Exception {
    String wsdlUrl = getClass().getResource("hello_world_services.wsdl").toString();
    WSDLDefinitionBuilder builder = new WSDLDefinitionBuilder(BusFactory.getDefaultBus());
    Definition def = builder.build(wsdlUrl);
    assertNotNull(def);
    Map<?, ?> services = def.getServices();
    assertNotNull(services);
    assertEquals(1, services.size());
    String serviceQName = "http://apache.org/hello_world/services";
    Service service = (Service) services.get(new QName(serviceQName, "SOAPService"));
    assertNotNull(service);
    Map<?, ?> ports = service.getPorts();
    assertNotNull(ports);
    assertEquals(1, ports.size());
    Port port = service.getPort("SoapPort");
    assertNotNull(port);
    Binding binding = port.getBinding();
    assertNotNull(binding);
    QName bindingQName = new QName("http://apache.org/hello_world/bindings", "SOAPBinding");
    assertEquals(bindingQName, binding.getQName());
    PortType portType = binding.getPortType();
    assertNotNull(portType);
    QName portTypeQName = new QName("http://apache.org/hello_world", "Greeter");
    assertEquals(portTypeQName, portType.getQName());
    Operation op1 = portType.getOperation("sayHi", "sayHiRequest", "sayHiResponse");
    assertNotNull(op1);
    QName messageQName = new QName("http://apache.org/hello_world/messages", "sayHiRequest");
    assertEquals(messageQName, op1.getInput().getMessage().getQName());
    Part part = op1.getInput().getMessage().getPart("in");
    assertNotNull(part);
    assertEquals(new QName("http://apache.org/hello_world/types", "sayHi"), part.getElementName());
}
Also used : Binding(javax.wsdl.Binding) QName(javax.xml.namespace.QName) Part(javax.wsdl.Part) Port(javax.wsdl.Port) Definition(javax.wsdl.Definition) Service(javax.wsdl.Service) Operation(javax.wsdl.Operation) PortType(javax.wsdl.PortType) Test(org.junit.Test)

Example 52 with Part

use of javax.wsdl.Part in project tesb-studio-se by Talend.

the class PublishMetadataRunnable method getMessageParts.

private static List<QName> getMessageParts(Message msg) {
    List<QName> result = new ArrayList<QName>();
    @SuppressWarnings("unchecked") Collection<Part> values = msg.getParts().values();
    if (values == null || values.isEmpty()) {
        return result;
    }
    Iterator<Part> iterator = values.iterator();
    while (iterator.hasNext()) {
        Part part = iterator.next();
        if (part.getElementName() != null) {
            result.add(part.getElementName());
        } else if (part.getTypeName() != null) {
            result.add(part.getTypeName());
        }
    }
    return result;
}
Also used : QName(javax.xml.namespace.QName) Part(javax.wsdl.Part) ArrayList(java.util.ArrayList)

Example 53 with Part

use of javax.wsdl.Part in project pentaho-kettle by pentaho.

the class WsdlOpFaultList method getFault.

/**
 * Create a WsdlOpFault from the Fault.
 *
 * @param fault
 *          Fault to process.
 * @return WsdlOpFault Result of processing.
 */
@SuppressWarnings("unchecked")
private WsdlOpFault getFault(Fault fault) throws KettleStepException {
    Message m = fault.getMessage();
    // a fault should only have one message part.
    Map<?, Part> partMap = m.getParts();
    if (partMap.size() != 1) {
        throw new IllegalArgumentException("Invalid part count for fault!!");
    }
    Part faultPart = partMap.values().iterator().next();
    boolean complexType = false;
    // type of fault is specified either in Part's type or element attribute.
    QName type = faultPart.getTypeName();
    if (type == null) {
        type = faultPart.getElementName();
        Element schemaElement = _wsdlTypes.findNamedElement(type);
        type = _wsdlTypes.getTypeQName(schemaElement.getAttribute("type"));
        complexType = true;
    }
    return new WsdlOpFault(fault.getName(), type, complexType, _wsdlTypes);
}
Also used : Message(javax.wsdl.Message) Part(javax.wsdl.Part) QName(javax.xml.namespace.QName) Element(org.w3c.dom.Element)

Aggregations

Part (javax.wsdl.Part)53 QName (javax.xml.namespace.QName)30 Message (javax.wsdl.Message)25 Operation (javax.wsdl.Operation)15 BindingOperation (javax.wsdl.BindingOperation)13 Input (javax.wsdl.Input)12 ArrayList (java.util.ArrayList)8 Output (javax.wsdl.Output)8 HashMap (java.util.HashMap)7 Map (java.util.Map)7 OMElement (org.apache.axiom.om.OMElement)7 Element (org.w3c.dom.Element)7 Binding (javax.wsdl.Binding)6 OpenEJBException (org.apache.openejb.OpenEJBException)6 XmlSchemaElement (org.apache.ws.commons.schema.XmlSchemaElement)6 Fault (javax.wsdl.Fault)5 Port (javax.wsdl.Port)5 Service (javax.wsdl.Service)5 MIMEPart (javax.wsdl.extensions.mime.MIMEPart)5 SOAPOperation (javax.wsdl.extensions.soap.SOAPOperation)5