当前位置: 首页>>代码示例>>Java>>正文


Java SampleXmlUtil类代码示例

本文整理汇总了Java中org.apache.xmlbeans.impl.xsd2inst.SampleXmlUtil的典型用法代码示例。如果您正苦于以下问题:Java SampleXmlUtil类的具体用法?Java SampleXmlUtil怎么用?Java SampleXmlUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


SampleXmlUtil类属于org.apache.xmlbeans.impl.xsd2inst包,在下文中一共展示了SampleXmlUtil类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: postProcessBeanFactory

import org.apache.xmlbeans.impl.xsd2inst.SampleXmlUtil; //导入依赖的package包/类
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    Assert.notNull(wsdlResource,
            "Missing either WSDL location system property setting or explicit WSDL resource for scenario auto generation");

    Definition wsdl = getWsdlDefinition(wsdlResource);
    XmlObject wsdlObject = compileWsdl(wsdlResource);
    SchemaTypeSystem schemaTypeSystem = compileXsd(wsdlObject);

    for (Object item : wsdl.getBindings().values()) {
        Binding binding = (Binding) item;

        for (Object operationItem : binding.getBindingOperations()) {
            BindingOperation operation = (BindingOperation) operationItem;

            SchemaType requestElem = getSchemaType(schemaTypeSystem, operation.getName(), operation.getOperation().getInput().getName());
            SchemaType responseElem = getSchemaType(schemaTypeSystem, operation.getName(), operation.getOperation().getOutput().getName());

            String soapAction = "";
            List extensions = operation.getExtensibilityElements();
            if (extensions != null) {
                for (int i = 0; i < extensions.size(); i++) {
                    ExtensibilityElement extElement = (ExtensibilityElement) extensions.get(i);
                    if (extElement instanceof SOAPOperation) {
                        SOAPOperation soapOp = (SOAPOperation) extElement;
                        soapAction = soapOp.getSoapActionURI();
                    }
                }
            }

            String scenarioName;
            switch (namingStrategy) {
                case INPUT:
                    scenarioName = operation.getOperation().getInput().getName();
                    break;
                case OPERATION:
                    scenarioName = operation.getOperation().getName();
                    break;
                case SOAP_ACTION:
                    scenarioName = soapAction;
                    break;
                default:
                    throw new SimulatorException("Unknown scenario naming strategy");
            }

            if (beanFactory instanceof BeanDefinitionRegistry) {
                log.info("Register auto generated scenario as bean definition: " + scenarioName);
                BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(WsdlOperationScenario.class)
                        .addConstructorArgValue(operation)
                        .addPropertyValue("soapAction", soapAction)
                        .addPropertyValue("input", generateRequest(operation, SampleXmlUtil.createSampleForType(requestElem)))
                        .addPropertyValue("output", generateResponse(operation, SampleXmlUtil.createSampleForType(responseElem)));

                if (beanFactory.containsBeanDefinition("inboundXmlDataDictionary")) {
                    beanDefinitionBuilder.addPropertyReference("inboundDataDictionary", "inboundXmlDataDictionary");
                }

                if (beanFactory.containsBeanDefinition("outboundXmlDataDictionary")) {
                    beanDefinitionBuilder.addPropertyReference("outboundDataDictionary", "outboundXmlDataDictionary");
                }

                ((BeanDefinitionRegistry) beanFactory).registerBeanDefinition(scenarioName, beanDefinitionBuilder.getBeanDefinition());
            } else {
                log.info("Register auto generated scenario as singleton: " + scenarioName);
                WsdlOperationScenario scenario = createScenario(operation, soapAction, generateRequest(operation, SampleXmlUtil.createSampleForType(requestElem)), generateResponse(operation, SampleXmlUtil.createSampleForType(responseElem)));
                beanFactory.registerSingleton(scenarioName, scenario);
            }
        }
    }
}
 
开发者ID:christophd,项目名称:citrus-simulator,代码行数:71,代码来源:WsdlScenarioGenerator.java


注:本文中的org.apache.xmlbeans.impl.xsd2inst.SampleXmlUtil类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。