本文整理汇总了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();
}
}
示例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()]);
}