类javax.jws.soap.SOAPBinding.Style源码实例Demo

下面列出了怎么用javax.jws.soap.SOAPBinding.Style的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: cxf   文件: JaxWsServiceConfiguration.java
@Override
public Boolean isWrapped() {
    SOAPBinding ann = implInfo.getEndpointClass().getAnnotation(SOAPBinding.class);
    if (ann != null) {
        return !(ann.parameterStyle().equals(ParameterStyle.BARE) || ann.style().equals(Style.RPC));
    }
    return null;
}
 
源代码2 项目: syndesis   文件: BindingHelper.java
BindingHelper(BindingMessageInfo bindingMessageInfo) throws ParserException, ParserConfigurationException {

        this.bindingMessageInfo = bindingMessageInfo;
        this.bindingOperation = bindingMessageInfo.getBindingOperation();
        this.schemaCollection = bindingMessageInfo.getBindingOperation().getBinding().getService().getXmlSchemaCollection();

        SoapOperationInfo soapOperationInfo = bindingOperation.getExtensor(SoapOperationInfo.class);
        SoapBindingInfo soapBindingInfo = (SoapBindingInfo) bindingOperation.getBinding();

        soapVersion = soapBindingInfo.getSoapVersion();

        // get binding style
        if (soapOperationInfo.getStyle() != null) {
            style = Style.valueOf(soapOperationInfo.getStyle().toUpperCase(Locale.US));
        } else if (soapBindingInfo.getStyle() != null) {
            style = Style.valueOf(soapBindingInfo.getStyle().toUpperCase(Locale.US));
        } else {
            style = Style.DOCUMENT;
        }

        // get body binding
        SoapBodyInfo soapBodyInfo = bindingMessageInfo.getExtensor(SoapBodyInfo.class);
        List<SoapHeaderInfo> soapHeaders = bindingMessageInfo.getExtensors(SoapHeaderInfo.class);
        bodyParts = soapBodyInfo.getParts();

        // get any headers as MessagePartInfos
        hasHeaders = soapHeaders != null && !soapHeaders.isEmpty();
        headerParts = hasHeaders ?
            soapHeaders.stream().map(SoapHeaderInfo::getPart).collect(Collectors.toList()) : null;

        // get required body use
        Use use = Use.valueOf(soapBodyInfo.getUse().toUpperCase(Locale.US));
        if (ENCODED.equals(use)) {
            // TODO could we add support for RPC/encoded messages by setting schema type to any??
            throw new ParserException("Messages with use='encoded' are not supported");
        }

        // Document builder for create schemaset
        this.documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    }
 
源代码3 项目: syndesis   文件: BindingHelper.java
public String getSpecification() throws ParserException {

        // add a SOAP schema to hold wrapper elements, to be removed by soap connector
        final SchemaCollection targetSchemas = new SchemaCollection();
        final XmlSchema soapSchema = targetSchemas.newXmlSchemaInCollection(soapVersion.getEnvelope().getNamespaceURI());
        soapSchema.setElementFormDefault(XmlSchemaForm.QUALIFIED);
        soapSchema.setAttributeFormDefault(XmlSchemaForm.QUALIFIED);

        // extract elements/types from source schema using an XmlSchemaExtractor
        final XmlSchemaExtractor schemaExtractor = new XmlSchemaExtractor(targetSchemas, schemaCollection);

        // TODO also handle faults for output message, which requires an enhancement in Syndesis

        if (style == Style.RPC) {
            final OperationInfo operationInfo = bindingOperation.getOperationInfo();
            final QName operationName = operationInfo.getName();
            final QName wrapperElement = bindingMessageInfo.getMessageInfo().getType() == MessageInfo.Type.INPUT ?
                operationName : new QName(operationName.getNamespaceURI(), operationName.getLocalPart() + "Response");

            createRpcEnvelope(schemaExtractor, wrapperElement);
        } else {
            final List<XmlSchemaElement> bodyElements = getPartElements(schemaExtractor, soapSchema, bodyParts);

            // if topLevel is true, root element was already added to generated schema as top level element
            final List<XmlSchemaElement> headerElements = hasHeaders ? getPartElements(schemaExtractor, soapSchema,
                headerParts) : null;
            createDocumentEnvelope(schemaExtractor, headerElements, bodyElements);
        }

        return getSpecificationString(schemaExtractor);
    }
 
源代码4 项目: TencentKona-8   文件: SOAPBinding.java
/**
 * Get {@link Style} - such as <code>document</code> or <code>rpc</code>.
 */
public Style getStyle() {
    return style;
}
 
源代码5 项目: TencentKona-8   文件: SOAPBinding.java
/**
 * Returns true if its document/literal
 */
public boolean isDocLit() {
    return style == Style.DOCUMENT && use == Use.LITERAL;
}
 
源代码6 项目: TencentKona-8   文件: SOAPBinding.java
/**
 * Returns true if this is a rpc/literal binding
 */
public boolean isRpcLit() {
    return style == Style.RPC && use == Use.LITERAL;
}
 
源代码7 项目: TencentKona-8   文件: RuntimeModeler.java
void processClass(Class clazz) {
        classUsesWebMethod = new HashSet<Class>();
        determineWebMethodUse(clazz);
        WebService webService = getAnnotation(clazz, WebService.class);
        QName portTypeName = getPortTypeName(clazz, targetNamespace, metadataReader);
//        String portTypeLocalName  = clazz.getSimpleName();
//        if (webService.name().length() >0)
//            portTypeLocalName = webService.name();
//
//        targetNamespace = webService.targetNamespace();
        packageName = "";
        if (clazz.getPackage() != null)
            packageName = clazz.getPackage().getName();
//        if (targetNamespace.length() == 0) {
//            targetNamespace = getNamespace(packageName);
//        }
//        model.setTargetNamespace(targetNamespace);
//        QName portTypeName = new QName(targetNamespace, portTypeLocalName);
        targetNamespace = portTypeName.getNamespaceURI();
        model.setPortTypeName(portTypeName);
        model.setTargetNamespace(targetNamespace);
        model.defaultSchemaNamespaceSuffix = config.getMappingInfo().getDefaultSchemaNamespaceSuffix();
        model.setWSDLLocation(webService.wsdlLocation());

        SOAPBinding soapBinding = getAnnotation(clazz, SOAPBinding.class);
        if (soapBinding != null) {
            if (soapBinding.style() == SOAPBinding.Style.RPC && soapBinding.parameterStyle() == SOAPBinding.ParameterStyle.BARE) {
                throw new RuntimeModelerException("runtime.modeler.invalid.soapbinding.parameterstyle",
                        soapBinding, clazz);

            }
            isWrapped = soapBinding.parameterStyle()== WRAPPED;
        }
        defaultBinding = createBinding(soapBinding);
        /*
         * if clazz != portClass then there is an SEI.  If there is an
         * SEI, then all methods should be processed.  However, if there is
         * no SEI, and the implementation class uses at least one
         * WebMethod annotation, then only methods with this annotation
         * will be processed.
         */
/*        if (clazz == portClass) {
            WebMethod webMethod;
            for (Method method : clazz.getMethods()) {
                webMethod = getPrivMethodAnnotation(method, WebMethod.class);
                if (webMethod != null &&
                    !webMethod.exclude()) {
                    usesWebMethod = true;
                    break;
                }
            }
        }*/

        for (Method method : clazz.getMethods()) {
            if (!clazz.isInterface()) {     // if clazz is SEI, then all methods are web methods
                if (method.getDeclaringClass() == Object.class) continue;
                if (!getBooleanSystemProperty("com.sun.xml.internal.ws.legacyWebMethod")) {  // legacy webMethod computation behaviour to be used
                    if (!isWebMethodBySpec(method, clazz))
                        continue;
                } else {
                    if (!isWebMethod(method))
                        continue;
                }
            }
            // TODO: binding can be null. We need to figure out how to post-process
            // RuntimeModel to link to WSDLModel
            processMethod(method);
        }
        //Add additional jaxb classes referenced by {@link XmlSeeAlso}
        XmlSeeAlso xmlSeeAlso = getAnnotation(clazz, XmlSeeAlso.class);
        if(xmlSeeAlso != null)
            model.addAdditionalClasses(xmlSeeAlso.value());
    }
 
源代码8 项目: TencentKona-8   文件: SOAPBindingImpl.java
/**
 * @param style The style to set.
 */
public void setStyle(Style style) {
    this.style = style;
}
 
源代码9 项目: TencentKona-8   文件: WSDLBoundPortTypeImpl.java
public void setStyle(Style style){
    this.style = style;
}
 
源代码10 项目: TencentKona-8   文件: WSDLBoundPortTypeImpl.java
public SOAPBinding.Style getStyle() {
    return style;
}
 
源代码11 项目: TencentKona-8   文件: WSDLBoundPortTypeImpl.java
public boolean isRpcLit(){
    return Style.RPC==style;
}
 
源代码12 项目: TencentKona-8   文件: WSDLBoundPortTypeImpl.java
public boolean isDoclit(){
    return Style.DOCUMENT==style;
}
 
源代码13 项目: TencentKona-8   文件: RuntimeWSDLParser.java
private void parseBindingOperation(XMLStreamReader reader, EditableWSDLBoundPortType binding) {
    String bindingOpName = ParserUtil.getMandatoryNonEmptyAttribute(reader, "name");
    if (bindingOpName == null) {
        //TODO: throw exception?
        //skip wsdl:binding element for now
        XMLStreamReaderUtil.skipElement(reader);
        return;
    }

    QName opName = new QName(binding.getPortTypeName().getNamespaceURI(), bindingOpName);
    EditableWSDLBoundOperation bindingOp = new WSDLBoundOperationImpl(reader,binding, opName);
    binding.put(opName, bindingOp);
    extensionFacade.bindingOperationAttributes(bindingOp, reader);

    while (XMLStreamReaderUtil.nextElementContent(reader) != XMLStreamConstants.END_ELEMENT) {
        QName name = reader.getName();
        String style = null;
        if (WSDLConstants.QNAME_INPUT.equals(name)) {
            parseInputBinding(reader, bindingOp);
        } else if (WSDLConstants.QNAME_OUTPUT.equals(name)) {
            parseOutputBinding(reader, bindingOp);
        } else if (WSDLConstants.QNAME_FAULT.equals(name)) {
            parseFaultBinding(reader, bindingOp);
        } else if (SOAPConstants.QNAME_OPERATION.equals(name) ||
                SOAPConstants.QNAME_SOAP12OPERATION.equals(name)) {
            style = reader.getAttributeValue(null, "style");
            String soapAction = reader.getAttributeValue(null, "soapAction");

            if (soapAction != null)
                bindingOp.setSoapAction(soapAction);

            goToEnd(reader);
        } else {
            extensionFacade.bindingOperationElements(bindingOp, reader);
        }
        /**
         *  If style attribute is present set it otherwise set the style as defined
         *  on the <soap:binding> element
         */
        if (style != null) {
            if (style.equals("rpc"))
                bindingOp.setStyle(Style.RPC);
            else
                bindingOp.setStyle(Style.DOCUMENT);
        } else {
            bindingOp.setStyle(binding.getStyle());
        }
    }
}
 
源代码14 项目: jdk8u60   文件: SOAPBinding.java
/**
 * Get {@link Style} - such as <code>document</code> or <code>rpc</code>.
 */
public Style getStyle() {
    return style;
}
 
源代码15 项目: jdk8u60   文件: SOAPBinding.java
/**
 * Returns true if its document/literal
 */
public boolean isDocLit() {
    return style == Style.DOCUMENT && use == Use.LITERAL;
}
 
源代码16 项目: jdk8u60   文件: SOAPBinding.java
/**
 * Returns true if this is a rpc/literal binding
 */
public boolean isRpcLit() {
    return style == Style.RPC && use == Use.LITERAL;
}
 
源代码17 项目: jdk8u60   文件: RuntimeModeler.java
void processClass(Class clazz) {
        classUsesWebMethod = new HashSet<Class>();
        determineWebMethodUse(clazz);
        WebService webService = getAnnotation(clazz, WebService.class);
        QName portTypeName = getPortTypeName(clazz, targetNamespace, metadataReader);
//        String portTypeLocalName  = clazz.getSimpleName();
//        if (webService.name().length() >0)
//            portTypeLocalName = webService.name();
//
//        targetNamespace = webService.targetNamespace();
        packageName = "";
        if (clazz.getPackage() != null)
            packageName = clazz.getPackage().getName();
//        if (targetNamespace.length() == 0) {
//            targetNamespace = getNamespace(packageName);
//        }
//        model.setTargetNamespace(targetNamespace);
//        QName portTypeName = new QName(targetNamespace, portTypeLocalName);
        targetNamespace = portTypeName.getNamespaceURI();
        model.setPortTypeName(portTypeName);
        model.setTargetNamespace(targetNamespace);
        model.defaultSchemaNamespaceSuffix = config.getMappingInfo().getDefaultSchemaNamespaceSuffix();
        model.setWSDLLocation(webService.wsdlLocation());

        SOAPBinding soapBinding = getAnnotation(clazz, SOAPBinding.class);
        if (soapBinding != null) {
            if (soapBinding.style() == SOAPBinding.Style.RPC && soapBinding.parameterStyle() == SOAPBinding.ParameterStyle.BARE) {
                throw new RuntimeModelerException("runtime.modeler.invalid.soapbinding.parameterstyle",
                        soapBinding, clazz);

            }
            isWrapped = soapBinding.parameterStyle()== WRAPPED;
        }
        defaultBinding = createBinding(soapBinding);
        /*
         * if clazz != portClass then there is an SEI.  If there is an
         * SEI, then all methods should be processed.  However, if there is
         * no SEI, and the implementation class uses at least one
         * WebMethod annotation, then only methods with this annotation
         * will be processed.
         */
/*        if (clazz == portClass) {
            WebMethod webMethod;
            for (Method method : clazz.getMethods()) {
                webMethod = getPrivMethodAnnotation(method, WebMethod.class);
                if (webMethod != null &&
                    !webMethod.exclude()) {
                    usesWebMethod = true;
                    break;
                }
            }
        }*/

        for (Method method : clazz.getMethods()) {
            if (!clazz.isInterface()) {     // if clazz is SEI, then all methods are web methods
                if (method.getDeclaringClass() == Object.class) continue;
                if (!getBooleanSystemProperty("com.sun.xml.internal.ws.legacyWebMethod")) {  // legacy webMethod computation behaviour to be used
                    if (!isWebMethodBySpec(method, clazz))
                        continue;
                } else {
                    if (!isWebMethod(method))
                        continue;
                }
            }
            // TODO: binding can be null. We need to figure out how to post-process
            // RuntimeModel to link to WSDLModel
            processMethod(method);
        }
        //Add additional jaxb classes referenced by {@link XmlSeeAlso}
        XmlSeeAlso xmlSeeAlso = getAnnotation(clazz, XmlSeeAlso.class);
        if(xmlSeeAlso != null)
            model.addAdditionalClasses(xmlSeeAlso.value());
    }
 
源代码18 项目: jdk8u60   文件: SOAPBindingImpl.java
/**
 * @param style The style to set.
 */
public void setStyle(Style style) {
    this.style = style;
}
 
源代码19 项目: jdk8u60   文件: WSDLBoundOperationImpl.java
public void setStyle(Style style){
    this.style = style;
}
 
源代码20 项目: jdk8u60   文件: WSDLBoundPortTypeImpl.java
public void setStyle(Style style){
    this.style = style;
}
 
源代码21 项目: jdk8u60   文件: WSDLBoundPortTypeImpl.java
public SOAPBinding.Style getStyle() {
    return style;
}
 
源代码22 项目: jdk8u60   文件: WSDLBoundPortTypeImpl.java
public boolean isDoclit(){
    return Style.DOCUMENT==style;
}
 
源代码23 项目: jdk8u60   文件: RuntimeWSDLParser.java
private void parseBindingOperation(XMLStreamReader reader, EditableWSDLBoundPortType binding) {
    String bindingOpName = ParserUtil.getMandatoryNonEmptyAttribute(reader, "name");
    if (bindingOpName == null) {
        //TODO: throw exception?
        //skip wsdl:binding element for now
        XMLStreamReaderUtil.skipElement(reader);
        return;
    }

    QName opName = new QName(binding.getPortTypeName().getNamespaceURI(), bindingOpName);
    EditableWSDLBoundOperation bindingOp = new WSDLBoundOperationImpl(reader,binding, opName);
    binding.put(opName, bindingOp);
    extensionFacade.bindingOperationAttributes(bindingOp, reader);

    while (XMLStreamReaderUtil.nextElementContent(reader) != XMLStreamConstants.END_ELEMENT) {
        QName name = reader.getName();
        String style = null;
        if (WSDLConstants.QNAME_INPUT.equals(name)) {
            parseInputBinding(reader, bindingOp);
        } else if (WSDLConstants.QNAME_OUTPUT.equals(name)) {
            parseOutputBinding(reader, bindingOp);
        } else if (WSDLConstants.QNAME_FAULT.equals(name)) {
            parseFaultBinding(reader, bindingOp);
        } else if (SOAPConstants.QNAME_OPERATION.equals(name) ||
                SOAPConstants.QNAME_SOAP12OPERATION.equals(name)) {
            style = reader.getAttributeValue(null, "style");
            String soapAction = reader.getAttributeValue(null, "soapAction");

            if (soapAction != null)
                bindingOp.setSoapAction(soapAction);

            goToEnd(reader);
        } else {
            extensionFacade.bindingOperationElements(bindingOp, reader);
        }
        /**
         *  If style attribute is present set it otherwise set the style as defined
         *  on the <soap:binding> element
         */
        if (style != null) {
            if (style.equals("rpc"))
                bindingOp.setStyle(Style.RPC);
            else
                bindingOp.setStyle(Style.DOCUMENT);
        } else {
            bindingOp.setStyle(binding.getStyle());
        }
    }
}
 
源代码24 项目: openjdk-jdk8u   文件: SOAPBinding.java
/**
 * Get {@link Style} - such as <code>document</code> or <code>rpc</code>.
 */
public Style getStyle() {
    return style;
}
 
源代码25 项目: openjdk-jdk8u   文件: SOAPBinding.java
/**
 * Returns true if its document/literal
 */
public boolean isDocLit() {
    return style == Style.DOCUMENT && use == Use.LITERAL;
}
 
源代码26 项目: openjdk-jdk8u   文件: SOAPBinding.java
/**
 * Returns true if this is a rpc/literal binding
 */
public boolean isRpcLit() {
    return style == Style.RPC && use == Use.LITERAL;
}
 
源代码27 项目: openjdk-8   文件: SOAPBinding.java
/**
 * Returns true if its document/literal
 */
public boolean isDocLit() {
    return style == Style.DOCUMENT && use == Use.LITERAL;
}
 
源代码28 项目: cxf   文件: HelloWrongAnnotation.java
@SOAPBinding(style = Style.RPC, use = Use.LITERAL)
@WebMethod(operationName = "sayHi", exclude = false)
String sayHi();
 
源代码29 项目: openjdk-8-source   文件: RuntimeModeler.java
void processClass(Class clazz) {
        classUsesWebMethod = new HashSet<Class>();
        determineWebMethodUse(clazz);
        WebService webService = getAnnotation(clazz, WebService.class);
        QName portTypeName = getPortTypeName(clazz, targetNamespace, metadataReader);
//        String portTypeLocalName  = clazz.getSimpleName();
//        if (webService.name().length() >0)
//            portTypeLocalName = webService.name();
//
//        targetNamespace = webService.targetNamespace();
        packageName = "";
        if (clazz.getPackage() != null)
            packageName = clazz.getPackage().getName();
//        if (targetNamespace.length() == 0) {
//            targetNamespace = getNamespace(packageName);
//        }
//        model.setTargetNamespace(targetNamespace);
//        QName portTypeName = new QName(targetNamespace, portTypeLocalName);
        targetNamespace = portTypeName.getNamespaceURI();
        model.setPortTypeName(portTypeName);
        model.setTargetNamespace(targetNamespace);
        model.defaultSchemaNamespaceSuffix = config.getMappingInfo().getDefaultSchemaNamespaceSuffix();
        model.setWSDLLocation(webService.wsdlLocation());

        SOAPBinding soapBinding = getAnnotation(clazz, SOAPBinding.class);
        if (soapBinding != null) {
            if (soapBinding.style() == SOAPBinding.Style.RPC && soapBinding.parameterStyle() == SOAPBinding.ParameterStyle.BARE) {
                throw new RuntimeModelerException("runtime.modeler.invalid.soapbinding.parameterstyle",
                        soapBinding, clazz);

            }
            isWrapped = soapBinding.parameterStyle()== WRAPPED;
        }
        defaultBinding = createBinding(soapBinding);
        /*
         * if clazz != portClass then there is an SEI.  If there is an
         * SEI, then all methods should be processed.  However, if there is
         * no SEI, and the implementation class uses at least one
         * WebMethod annotation, then only methods with this annotation
         * will be processed.
         */
/*        if (clazz == portClass) {
            WebMethod webMethod;
            for (Method method : clazz.getMethods()) {
                webMethod = getPrivMethodAnnotation(method, WebMethod.class);
                if (webMethod != null &&
                    !webMethod.exclude()) {
                    usesWebMethod = true;
                    break;
                }
            }
        }*/

        for (Method method : clazz.getMethods()) {
            if (!clazz.isInterface()) {     // if clazz is SEI, then all methods are web methods
                if (method.getDeclaringClass() == Object.class) continue;
                if (!getBooleanSystemProperty("com.sun.xml.internal.ws.legacyWebMethod")) {  // legacy webMethod computation behaviour to be used
                    if (!isWebMethodBySpec(method, clazz))
                        continue;
                } else {
                    if (!isWebMethod(method))
                        continue;
                }
            }
            // TODO: binding can be null. We need to figure out how to post-process
            // RuntimeModel to link to WSDLModel
            processMethod(method);
        }
        //Add additional jaxb classes referenced by {@link XmlSeeAlso}
        XmlSeeAlso xmlSeeAlso = getAnnotation(clazz, XmlSeeAlso.class);
        if(xmlSeeAlso != null)
            model.addAdditionalClasses(xmlSeeAlso.value());
    }
 
源代码30 项目: openjdk-jdk8u   文件: SOAPBindingImpl.java
/**
 * @param style The style to set.
 */
public void setStyle(Style style) {
    this.style = style;
}