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


Java PolicyMapConfigurator类代码示例

本文整理汇总了Java中com.sun.xml.internal.ws.policy.jaxws.spi.PolicyMapConfigurator的典型用法代码示例。如果您正苦于以下问题:Java PolicyMapConfigurator类的具体用法?Java PolicyMapConfigurator怎么用?Java PolicyMapConfigurator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


PolicyMapConfigurator类属于com.sun.xml.internal.ws.policy.jaxws.spi包,在下文中一共展示了PolicyMapConfigurator类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: start

import com.sun.xml.internal.ws.policy.jaxws.spi.PolicyMapConfigurator; //导入依赖的package包/类
@Override
public void start(final WSDLGenExtnContext context) {
    LOGGER.entering();
    try {
        this.seiModel = context.getModel();

        final PolicyMapConfigurator[] policyMapConfigurators = loadConfigurators();
        final PolicyMapExtender[] extenders = new PolicyMapExtender[policyMapConfigurators.length];
        for (int i = 0; i < policyMapConfigurators.length; i++) {
            extenders[i] = PolicyMapExtender.createPolicyMapExtender();
        }
        // Read policy config file
        policyMap = PolicyResolverFactory.create().resolve(
                new PolicyResolver.ServerContext(policyMap, context.getContainer(), context.getEndpointClass(), false, extenders));

        if (policyMap == null) {
            LOGGER.fine(PolicyMessages.WSP_1019_CREATE_EMPTY_POLICY_MAP());
            policyMap = PolicyMap.createPolicyMap(Arrays.asList(extenders));
        }

        final WSBinding binding = context.getBinding();
        try {
            final Collection<PolicySubject> policySubjects = new LinkedList<PolicySubject>();
            for (int i = 0; i < policyMapConfigurators.length; i++) {
                policySubjects.addAll(policyMapConfigurators[i].update(policyMap, seiModel, binding));
                extenders[i].disconnect();
            }
            PolicyMapUtil.insertPolicies(policyMap, policySubjects, this.seiModel.getServiceQName(), this.seiModel.getPortName());
        } catch (PolicyException e) {
            throw LOGGER.logSevereException(new WebServiceException(PolicyMessages.WSP_1017_MAP_UPDATE_FAILED(), e));
        }
        final TypedXmlWriter root = context.getRoot();
        root._namespace(NamespaceVersion.v1_2.toString(), NamespaceVersion.v1_2.getDefaultNamespacePrefix());
        root._namespace(NamespaceVersion.v1_5.toString(), NamespaceVersion.v1_5.getDefaultNamespacePrefix());
        root._namespace(PolicyConstants.WSU_NAMESPACE_URI, PolicyConstants.WSU_NAMESPACE_PREFIX);

    } finally {
        LOGGER.exiting();
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:41,代码来源:PolicyWSDLGeneratorExtension.java

示例2: loadConfigurators

import com.sun.xml.internal.ws.policy.jaxws.spi.PolicyMapConfigurator; //导入依赖的package包/类
private PolicyMapConfigurator[] loadConfigurators() {
    final Collection<PolicyMapConfigurator> configurators = new LinkedList<PolicyMapConfigurator>();

    // Add map configurators that are already built into JAX-WS
    configurators.add(new AddressingPolicyMapConfigurator());
    configurators.add(new MtomPolicyMapConfigurator());

    // Dynamically discover remaining map configurators
    PolicyUtil.addServiceProviders(configurators, PolicyMapConfigurator.class);

    return configurators.toArray(new PolicyMapConfigurator[configurators.size()]);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:13,代码来源:PolicyWSDLGeneratorExtension.java


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