public void addPolicyToAllBindings(AxisService axisService, Policy policy) throws ServerException { try { if (policy.getId() == null) { // Generate an ID policy.setId(UUIDGenerator.getUUID()); } Map endPointMap = axisService.getEndpoints(); for (Object o : endPointMap.entrySet()) { Map.Entry entry = (Map.Entry) o; AxisEndpoint point = (AxisEndpoint) entry.getValue(); AxisBinding binding = point.getBinding(); String bindingName = binding.getName().getLocalPart(); //only UTOverTransport is allowed for HTTP if (bindingName.endsWith("HttpBinding") && (!policy.getAttributes().containsValue("UTOverTransport"))) { continue; } binding.getPolicySubject().attachPolicy(policy); // Add the new policy to the registry } } catch (Exception e) { log.error("Error in adding security policy to all bindings", e); throw new ServerException("addPoliciesToService", e); } }
protected Object getBindingPropertyFromOperation(String name, QName qName) { // Get the correct AxisBindingOperation coresponding to the AxisOperation AxisBindingOperation axisBindingOperation = null; if (axisBinding != null) { axisBindingOperation = (AxisBindingOperation) axisBinding.getChild(qName); } Object property = null; if (axisBindingOperation != null) { property = axisBindingOperation.getProperty(name); } if ((property == null) && (axisBinding != null)) { property = axisBinding.getProperty(name); } if (property == null) { property = WSDL20DefaultValueHolder.getDefaultValue(name); } return property; }
: null; if (axisBinding == null) { axisBinding = new AxisBinding(); axisBinding.setName(bindingName); axisBinding.setType(Java2WSDLConstants.TRANSPORT_URI); axisBinding.setProperty(WSDLConstants.WSDL_1_1_STYLE, WSDLConstants.STYLE_DOC); axisBinding.setProperty(WSDL2Constants.ATTR_WSOAP_VERSION, SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI); WSDL2Constants.ATTR_WSOAP_ACTION, soapAction); axisBinding.addChild(axisBindingOperation.getName(), axisBindingOperation); populateBindingOperation(axisBinding, axisBinding.setParent(axisEndpoint); axisEndpoint.setBinding(axisBinding);
/** * Creates a AxisBinding and populates it with default HTTP properties */ private AxisBinding createDefaultHTTPBinding(String name, String interfaceName) { AxisBinding httpBinding = new AxisBinding(); httpBinding.setName(new QName(name + Java2WSDLConstants.HTTP_BINDING)); httpBinding.setType(WSDL2Constants.URI_WSDL2_HTTP); httpBinding.setProperty(WSDL2Constants.INTERFACE_LOCAL_NAME, interfaceName); httpBinding.setProperty(WSDL2Constants.HTTP_LOCATION_TABLE, httpLocationTable); httpBinding.setProperty(WSDL2Constants.HTTP_LOCATION_TABLE_FOR_RESOURCE, httpLocationTableForResource); return httpBinding; }
public static boolean isSoap12Binding(AxisBinding binding) { String type = binding.getType(); if (Java2WSDLConstants.TRANSPORT_URI.equals(type) || WSDL2Constants.URI_WSDL2_SOAP.equals(type)) { String v = (String)binding .getProperty(WSDL2Constants.ATTR_WSOAP_VERSION); if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(v)) { return true; } } return false; }
String type = axisBinding.getType(); if (Java2WSDLConstants.TRANSPORT_URI.equals(type) || WSDL2Constants.URI_WSDL2_SOAP.equals(type)) { String version = (String) axisBinding .getProperty(WSDL2Constants.ATTR_WSOAP_VERSION); if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(version)) { OMElement port = fac.createOMElement(PORT, wsdl); port.addAttribute(ATTRIBUTE_NAME, axisEndpoint.getName(), null); QName qname = axisBinding.getName(); port.addAttribute(BINDING_LOCAL_NAME, tns.getPrefix() + ":" + qname.getLocalPart(), null);
QName qname = axisBinding.getName(); binding.addAttribute(ATTRIBUTE_NAME, qname.getLocalPart(), null); httpBinding.addAttribute("verb", "POST", null); for (Iterator axisBindingOperations = axisBinding.getChildren(); axisBindingOperations .hasNext();) { AxisBindingOperation axisBindingOperation = (AxisBindingOperation) axisBindingOperations
for (AxisEndpoint axisEndpoint : axisService.getEndpoints().values()) { axisBinding = axisEndpoint.getBinding(); if (!usedBindings.containsKey(axisBinding.getName())) { usedBindings.put(axisBinding.getName(), axisBinding); String bindingType = usedAxisBinding.getType(); axisEndpoint.setName(axisService.getName() + transportIn + usedAxisBinding.getName().getLocalPart() + "Endpoint"); axisEndpoint.setBinding(usedAxisBinding); axisEndpoint.setTransportInDescription(transportIn);
/** * Looks for the SOAPVersion and adds it. * * @param doc * @param rootElement */ protected void addSoapVersion(Document doc, Element rootElement) { // loop through the extensibility elements to get to the bindings element addAttribute(doc, "soap-version", (String) axisBinding.getProperty(WSDL2Constants.ATTR_WSOAP_VERSION), rootElement); }
AxisBinding axisBinding = axisEndpoint.getBinding(); String wsoap = (String)axisBinding .getProperty(WSDL2Constants.ATTR_WSOAP_VERSION); if (soapVersion.equals(wsoap)) { String[] identifiers = identifier.split("/"); int key = identifiers.length; if (key == 1) { axisBinding.getPolicySubject().attachPolicyComponents( policyComponents); } else if (key == 2 || key == 3) { AxisBindingOperation bindingOperation = null; boolean found = false; for (Iterator i = axisBinding.getChildren(); i.hasNext();) { bindingOperation = (AxisBindingOperation)i.next(); if (opName.equals(bindingOperation.getName()
private boolean isAlreadyAdded(AxisBinding axisBinding, OMElement definitionElement) { QName bindingName = axisBinding.getName(); QName name = new QName("name"); for (Iterator<OMElement> iterator = definitionElement .getChildrenWithName(new QName(wsdl.getNamespaceURI(), BINDING_LOCAL_NAME)); iterator.hasNext();) { OMElement element = iterator.next(); String value = element.getAttributeValue(name); if (bindingName.getLocalPart().equals(value)) { return true; } } return false; }
public Policy getEffectivePolicy() { Collection<PolicyComponent> policyList = new ArrayList<PolicyComponent>(); policyList.addAll(getPolicySubject().getAttachedPolicyComponents()); // AxisEndpoint AxisEndpoint axisEndpoint = getAxisEndpoint(); if (axisEndpoint != null) { policyList.addAll(axisEndpoint.getPolicySubject().getAttachedPolicyComponents()); } AxisService service = null; if (axisEndpoint != null) { service = axisEndpoint.getAxisService(); } if (service != null) { PolicySubject servicePolicySubject = service.getPolicySubject(); if (servicePolicySubject != null) { policyList.addAll(servicePolicySubject.getAttachedPolicyComponents()); } } return PolicyUtil.getMergedPolicy(policyList, this); }
public static void dispatchAndVerify(MessageContext msgContext) throws AxisFault { String extendedURIBasedDispatcher = System.getProperty("ei.extendedURIBasedDispatcher"); if (extendedURIBasedDispatcher == null) { requestDispatcher.invoke(msgContext); } else { try { invokeMethod.invoke(dispatcherInstance, msgContext); } catch (IllegalAccessException | InvocationTargetException e) { throw new AxisFault(e.getMessage()); } } AxisService axisService = msgContext.getAxisService(); if (axisService != null) { httpLocationBasedDispatcher.invoke(msgContext); if (msgContext.getAxisOperation() == null) { requestURIOperationDispatcher.invoke(msgContext); } AxisOperation axisOperation; if ((axisOperation = msgContext.getAxisOperation()) != null) { AxisEndpoint axisEndpoint = (AxisEndpoint) msgContext.getProperty(WSDL2Constants.ENDPOINT_LOCAL_NAME); if (axisEndpoint != null) { AxisBindingOperation axisBindingOperation = (AxisBindingOperation) axisEndpoint .getBinding().getChild(axisOperation.getName()); msgContext.setProperty(Constants.AXIS_BINDING_OPERATION, axisBindingOperation); } msgContext.setAxisOperation(axisOperation); } } }
if ((soapVersion = soapBindingExtensions.getSoapVersion()) != null) { if (soapVersion.equals(WSDL2Constants.SOAP_VERSION_1_1)) { axisBinding.setProperty(WSDL2Constants.ATTR_WSOAP_VERSION, SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI); } else { axisBinding.setProperty(WSDL2Constants.ATTR_WSOAP_VERSION, SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI); axisBinding.setProperty(WSDL2Constants.ATTR_WSOAP_VERSION, WSDL20DefaultValueHolder.getDefaultValue( WSDL2Constants.ATTR_WSOAP_VERSION)); axisBinding.setProperty(WSDL2Constants.ATTR_WSOAP_PROTOCOL, soapUnderlyingProtocol.toString()); axisBinding.setProperty(WSDL2Constants.ATTR_WSOAP_MEP, soapMepDefault.toString()); axisBinding.setProperty(WSDL2Constants.ATTR_WHTTP_CONTENT_ENCODING, soapBindingExtensions.getHttpContentEncodingDefault()); axisBinding.setProperty(WSDL2Constants.ATTR_WSOAP_MODULE, createSoapModules(soapBindingExtensions.getSoapModules())); axisBinding.setProperty(WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, soapBindingExtensions.getHttpQueryParameterSeparatorDefault()); axisBinding.addFault(axisBindingFault); axisBinding.setProperty(WSDL2Constants.HTTP_LOCATION_TABLE, httpLocationTable); axisBinding.addChild(axisBindingOperation.getName(), axisBindingOperation);
String type = axisBinding.getType(); (String) axisBinding.getProperty(WSDL2Constants.ATTR_WSOAP_VERSION); if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(propertySOAPVersion)) { if (isDisableSOAP12()) { while (iter.hasNext()) { AxisBinding binding = (AxisBinding) iter.next(); OMElement bindingElement = binding.toWSDL20(wsdl, tns, wsoap, whttp, interfaceName, axisService.getNamespaceMap(),
private AxisBinding processBinding(Binding binding, Interface serviceInterface) throws AxisFault { AxisBinding axisBinding = new AxisBinding(); axisBinding.setName(binding.getName()); String bindingType = binding.getType().toString(); axisBinding.setType(bindingType); if (bindingType.equals(WSDL2Constants.URI_WSDL2_SOAP)) { processSOAPBindingExtention(binding, axisBinding, serviceInterface); } else if (bindingType.equals(WSDL2Constants.URI_WSDL2_HTTP)) { processHTTPBindingExtention(binding, axisBinding, serviceInterface); } // We should process the interface based on the service not on a binding processedBindings.put(binding.getName(), axisBinding); addDocumentation(axisBinding, binding.toElement()); return axisBinding; }
AxisBinding axisBinding = axisEndpoint.getBinding(); AxisBindingOperation axisBindingOperation = (AxisBindingOperation) axisBinding .getChild(axisOperation.getName()); if (axisBindingOperation == null) { String localName = axisOperation.getName() .getLocalPart(); AxisBindingOperation bindingOp = null; for (Iterator<AxisBindingOperation> iterator = axisBinding.getChildren(); iterator .hasNext();) { bindingOp = (AxisBindingOperation) iterator.next();
(AxisBinding) processedBindings.get(wsdl4jBinding.getQName())); } else { AxisBinding axisBinding = new AxisBinding(); axisBinding.setName(wsdl4jBinding.getQName()); axisBinding.setParent(axisEndpoint); axisEndpoint.setBinding(axisBinding); axisBinding.setParent(axisEndpoint); populateBinding(axisBinding, wsdl4jBinding,
protected Object getBindingPropertyFromMessageFault(String name, QName qName, String key) { Object property = null; // Get the correct AxisBindingOperation coresponding to the AxisOperation AxisBindingOperation axisBindingOperation = (AxisBindingOperation) axisBinding.getChild(qName); AxisBindingMessage axisBindingMessageFault = null; AxisBindingMessage axisBindingFault = null; if (axisBindingOperation != null) { axisBindingMessageFault = (AxisBindingMessage) axisBindingOperation.getFault(key); if (axisBindingMessageFault != null) { property = axisBindingMessageFault.getProperty(name); } if (property == null) { axisBindingFault = axisBinding.getFault(key); property = axisBindingFault.getProperty(name); } } if (property == null) { property = WSDL20DefaultValueHolder.getDefaultValue(name); } return property; }
axisBinding.addChild(axisBindingOperation.getName(), axisBindingOperation); axisBinding.setProperty(WSDL2Constants.HTTP_LOCATION_TABLE, httpLocationMap);